Maven 2.2.1 JDK - 1.6.0_45
[警告] JAR将为空 - 没有内容标记为包含!建立成功
但是build使用pom.xml创建jar 但没有类文件.
在maven源代码上,仅当找不到源目录时才抛出此异常.
该构建适用于所有其他开发人员,除了我的工作站和一个工作站
我已经尝试了在堆栈溢出时为此问题提供的所有解决方案.
我的源目录是src/java.我还创建了src/main/java作为源仍然没有结果.我正在调用mvn -o jar:jar &&调用mvn -o antrun:run -o此时我正在测试一些旧罐子.
<build>
<sourceDirectory>src/java</sourceDirectory>
<resources>
<resource>
<directory>${basedir}/src/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>${basedir}/src/test/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</testResource>
</testResources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<debug>true</debug>
<optimize>false</optimize>
<showDeprecation>true</showDeprecation>
<source>1.5</source>
<target>1.5 </target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>test*/temp/*.java</exclude>
<exclude>test*/support/*.java</exclude>
<exclude>test*/debug/*.java</exclude>
</excludes>
<includes>
<include>test*/**/AllTests.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>default-cli</id>
<phase>install</phase>
<configuration>
<target>
<copy file="${project.build.directory}/${artifactId}-${version}.jar"
todir="${user.home}/.m2/repository/${groupId}/${artifactId}/${version}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
khm*_*ise 12
首先遵循Maven中的约定,这意味着您的生产源代码应该在src/main/java.您还应该将属性文件或其他类型的文件(如xml文件)等资源定位到适合生产src/main/resources和单元测试的位置src/test/resources.
您应该更改的第一件事是迁移过程中项目的目录结构.这将为Maven中的配置节省许多麻烦,因为您违反了convention over configuration范例.
您的单元测试代码src/test/java并遵循单元测试的命名约定,这意味着仅为单元测试命名*Test.java.您无需定义套件即可运行所有测试.如果您遵循命名约定,maven-surefire-plugin将为您完成所有工作.
从您的pom配置中删除antrun插件并使用
mvn install
Run Code Online (Sandbox Code Playgroud)
而是将生产的jar安装到本地存储库中.根据构建生命周期,您将编译,单元测试并将代码打包到生成的jar文件中.
通常在Maven中没有理由mvn jar:jar单独打电话.
除此之外,你应该停止使用Maven 2.2.1,因为它已经定义了生命终结.最好从Maven 3.X开始.但我之前写的一切都是有效的Maven 3.
| 归档时间: |
|
| 查看次数: |
23230 次 |
| 最近记录: |