我在Windows 10上使用Maven 3.3.9。我有一个多POM项目,我想在整个Maven项目中共享一些测试资源。因为我们都知道src/test/*
中的文件不会包含在发行版JAR中,所以我为测试资源创建了一个单独的项目(以及随附的具有资源名称的Java类),以便我可以在其他项目中共享此项目。Maven构建后缺少类文件
为了说明起见,假设有两个文件在foo-test
项目:
src/main/java/com/example/foo/test/FooTestResources.java
src/main/resources/com/example/foo/test/resource.txt
简单的,对不对?除了在Maven中构建项目时,生成的JAR文件仅包含com/example/foo/test/resource.txt
!我期望在com/example/foo/test/FooTestResources.class
中的类文件丢失。
事实上,他们这个文件甚至不在target
目录中,所以就好像Maven甚至没有编译源文件。我搜索了我的项目目录FooTestResources.class
,并且它不存在。只有源代码文件FooTestResources.java
在那里。
当我在Eclipse 4.6.3上构建项目时,Eclipse按预期生成文件target/com/example/foo/test/FooTestResources.class
。当我做一个mvn clean install
它消失。
这是怎么回事?
这是一些奇怪的东西。你可以发布你的''pom.xml''吗?闻起来像是有一些神奇的东西,那就是被日食建造者所忽略,因此就有所不同。 – f1sh
没有看到实际的pom.xml,我唯一的猜测是在pom中有一些东西将源目录设置为其他东西。在你的mvn命令中加入'-X'来查看它是否真的编译了'src/main/java'下的任何东西。 – jingx