在我的非maven Java项目中,我可以在eclipse中链接外部源并进行编译。
但是当我将相同的外部文件夹链接到maven时它没有编译,虽然我已经为链接源声明了sourceDirectory。
以下图片会让我的问题更加清晰:
我的maven工作区,在文件系统上不包含名为java
通过eclipse,我链接了一个源文件夹:
它出现在日食中:
下一步,我在我的pom.xml中为sourceDirectory
目录添加了java
标记:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<relativePath>../</relativePath>
<groupId>com.mydomain</groupId>
<artifactId>maven-master</artifactId>
<version>1.0</version>
</parent>
<artifactId>application</artifactId>
<name>application</name>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.test.skip>true</maven.test.skip>
</properties>
<build>
<sourceDirectory>java</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<excludes>
<exclude>**/old/**/*.java</exclude>
</excludes>
<includes>
<include>com/**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
但是当我编译时(通过命令行或通过eclipse),我得到消息
无需编译资源。
我是否以错误的方式链接文件夹?
此外,我不确定是否需要此信息,主要类不是sourceDirectory
的{{1}}的根,但它类似于java/Main.java
< / p>
答案 0 :(得分:0)
结果是,在这种情况下,sourceDirectory
需要具有到源代码位置的绝对路径。
添加绝对位置(例如D:\Project\<.....>\java
)后,我便可以通过maven进行构建。