maven构建依赖jar文件不反映代码的变化
Posted
技术标签:
【中文标题】maven构建依赖jar文件不反映代码的变化【英文标题】:maven build dependency jar file not reflecting changes in code 【发布时间】:2017-10-06 10:37:20 【问题描述】:我正在尝试使用目标 mvn 包构建一个 maven 项目。当我构建项目时,会生成两个 jar 文件,一个是 demo-lwm2m-client-1.0-jar-with-dependencies.jar,另一个是 demo-lwm2m-client -1.0.jar。现在,如果我对放置在 src/main/resources 中的文件进行一些更改并再次构建项目,我发现 demo-lwm2m-client-1.0-jar-with-dependencies.jar 没有反映更改了我在代码中所做的事情,而 demo-lwm2m-client-1.0.jar 反映了更改。如何在依赖项 jar 中反映我的代码更改。下面是我的 pom.xml 的代码。 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
<groupId>com.demo.lwm2m.client</groupId>
<artifactId>demo-lwm2m-client</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<name>DemoLwm2mClient</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.eclipse.leshan</groupId>
<artifactId>leshan-client-cf</artifactId>
<version>1.0.0-M1</version>
</dependency>
<dependency>
<groupId>com.appiot.examples</groupId>
<artifactId>simulatedplatform</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>eclipse</id>
<url>https://repo.eclipse.org/content/repositories/leshan-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.demo.lwm2m.MainClass</mainClass>
</manifest>
</archive>
<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>
</plugins>
</build>
【问题讨论】:
试试 mvn 包。 我试过了,它也不起作用@SudhaVelan 【参考方案1】:使用mvn clean install
。这将重建所有内容并包括所有更改。
【讨论】:
它不反映更改,也在目标/类文件夹中我可以看到来自 src/main/resources 的文件以及我所做的更改 显然您必须手动删除生成的 jar 并再次运行mvn package
。以上是关于maven构建依赖jar文件不反映代码的变化的主要内容,如果未能解决你的问题,请参考以下文章
maven依赖jar包更新,业务jar需同步更新(业务jar依赖API)
maven常用的lifecycle,clean/install/deploy,maven打包jar包,maven打包强制拉取最新依赖