我编写了一个pom.xml来编译目录“D:\ Windchill_Market \ ERP Connector \ SourceCode \ Build \ src1 \ src \ main \ java \ com \ sample”中的java文件。
现在我必须将所有文件放在目录“D:\ Windchill_Market \ ERP Connector \ SourceCode \ Build \ src1”中。
下面是我的pom.xml:
<sourceDirectory>D:\Windchill_Market\ERP Connector\SourceCode\Build\src1\src\main\java</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
我能够生成类文件。但是我无法从我所需的目录中查看所有文件。只有来自sourceDirectory的文件才会受到震动。我尝试在maven-source-plugin中使用include标签。但它不起作用。
请帮忙。
由于
答案 0 :(得分:0)
Maven对源文件和其他文件使用不同的文件夹(所谓的ressources)。从src\main\java
开始,它会编译所有.java
个文件,并将生成的.class
文件打包到jar中。据我所知,该目录中的所有其他文件都被忽略了。
现在,如果您想要打包其他文件,请将它们放在src\main\resources
中。
修改强>
手动指定资源目录添加
<resources>
<resource>
<directory>D:\Windchill_Market\ERP Connector\SourceCode\Build\src1\src\main\resource</directory>
</resource>
</resources>
到<build>
部分
答案 1 :(得分:0)
maven-source-plugin正是应该做的。它在src / main / java中包含了源代码。它也可能包括src / main / resources,不确定。
如果您以某种方式管理从项目的根目录开始进行归档,则会滥用它。为了让Maven正确使用生成的JAR,它的内部结构必须反映普通JAR的内部结构 - 所以所有的包必须在那里,只是里面的文件是“.java”而不是“.class”。如果不是这样,Eclipse或其他工具将找不到这些源文件。
如果您想创建项目的“源代码分发”,您应该查看Maven Assembly Plugin。它允许您以非常灵活的方式从项目中创建包。这需要更长的答案来引导您完成整个过程。更好地阅读插件上的文档,并在遇到更具体的问题时再回来。有pre-defined configuration可能适合您的情况。
简而言之,这样的事情应该有效:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>src</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
答案 2 :(得分:-1)
感谢所有答案。我能够使用build-helper-maven-plugin来解决这个问题。