我有一个maven项目,并且依赖一个包含一个资源文件的jar(c3p0.xml),我将资源复制到我的src / main / resource文件夹中,并根据我的要求更改内容,以便我可以使用它。
但是在我运行 mvn assembly:assembly 命令之后,生成的jar包含资源的内容是旧的依赖jar而不是我在src / main / resource中的内容如何处理它?</ p>
我的pom.xml的主要内容如下:
<plugin>
<!-- mvn assembly:assembly -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.fastcheck.RequestUrl</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
答案 0 :(得分:0)
jar-with-dependencies组件机制使用您声明的maven依赖项,而不是资源目录中的内容。如果要使用较新版本的jar,请在.pom文件中声明较新版本作为依赖项。
答案 1 :(得分:0)
你应该将maven-assembly-plugin绑定到构建生命周期,如下所示:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
[...]
</project>
将在包寿命周期阶段执行maven-assembly-plugin。