【发布时间】:2015-06-23 16:12:39
【问题描述】:
Maven 2.2.1 JDK - 1.6.0_45
[警告] JAR 将为空 - 没有内容被标记为包含! 构建成功
但是 build 使用 pom.xml 创建 jar 但没有类文件。
在 maven 源代码中,只有在找不到源目录时才会引发此异常。
该版本适用于除我的工作站和另外一个工作站之外的所有其他开发人员
我已经尝试了针对堆栈溢出问题提供的所有解决方案。
我的源目录是 src/java。 我还创建了 src/main/java 作为源仍然没有结果。 我正在调用 mvn -o jar:jar && call mvn -o antrun:run -o 是因为此时我正在使用一些旧 jar 进行测试。
<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>
【问题讨论】:
-
您在 POM 文件中是否有
<packaging>的条目?当您尝试运行mvn compile时会发生什么? -
检查您的 basedir 包括,它只包括 .xml 和 .properties 因此排除所有其他
-
@Ryan J:是的,它是
jar -
@Danielson - 这些资源包括在内。我确实有
我尝试添加 .java 和 .class 也没有工作。 -
@Stack 抱歉。我试过了,但是在我所有的项目中都有 Lambda 函数,不会编译到 Java 5。你的公司仍然应该更新到本世纪的 ;-)
标签: maven