在eclipse maven中链接源文件夹时出错

时间:2018-03-09 03:19:04

标签: java eclipse maven

我创建了一个空的maven项目,它创建了一个文件夹结构src/main/java。 现在我想将本地仓库中的源链接到此src/main/java

如果我转到buildpath->link source,并将该文件夹命名为src/main/java,我就会

  

文件夹已存在错误

如果我删除该文件夹然后执行相同的步骤,则会出现以下错误。

npm run

前进的最佳方式是什么?

我无法更改仓库位置中的项目结构,将文件夹复制到我的工作区意味着稍后手动合并更改。

编辑文件夹结构:

enter image description here

构建 pom.xml 的一部分:

<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>java/com/**/*.java</include>            
          </includes>
        </configuration>
      </plugin>
      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <excludes>
                    <exclude>**/old/**/*.java</exclude>                 
                </excludes>
                <archive>
                    <manifest>
                    <addClasspath>true</addClasspath>
                    <classpathPrefix>lib/</classpathPrefix>
                    <mainClass>com.start.Start</mainClass>
                    </manifest>
                </archive>
            </configuration>
       </plugin>
    </plugins>
  </build>

1 个答案:

答案 0 :(得分:1)

使用<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.khalid.hotels</groupId> <artifactId>hotels</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>embeddedTomcatSample Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <tomcat.version>8.5.23</tomcat.version> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>com.github.jsimone</groupId> <artifactId>webapp-runner</artifactId> <version>8.0.30.2</version> <destFileName>webapp-runner.jar</destFileName> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.2</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencyManagement> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> </project> 配置项目源时,它只是eclipse的配置。它只是在eclipse .project文件中添加一个链接的源条目。 Maven对此配置一无所知。当您尝试使用此配置(使用maven)安装项目时,您将不会在已安装的工件中看到任何源代码。

如果必须这样做,请将以下内容添加到pom.xml文件中。这将通知maven您正在使用不同的项目文件夹结构。 (不建议使用此配置,但在您的情况下可以使用此配置)

buildpath->link source

在eclipse端只给文件夹命名,即你的源文件夹名称。 (如“来源”)

https://maven.apache.org/guides/mini/guide-using-one-source-directory.html