【发布时间】:2015-03-17 18:42:30
【问题描述】:
我正在使用 Eclipse (Kepler) 和 Eclipse 的 m2e Maven 插件。 我有一个 Maven 项目,但是当我在 Eclipse 中导出 jar 时(如右键单击项目、导出、jar 等),它会创建一个奇怪的无限或几乎无限的文件夹循环。
这是该项目的 Eclipse 文件夹(没有任何问题): 图片1(图片链接在页尾,无法上传图片)
现在,当我进入目标文件夹时,一切正常:PIC 2
如您所见,一切都很好。
但是,当我导航到 classes 文件夹时,还有另一个 'target' 文件夹,其中包含另一个文件夹 'classes',其中有 'target',依此类推..
这是您从最后一张图片进入类文件夹时的视图。 图 3
如您所见,它一直在继续。它是可移动的,但我在 cmdprompt 中使用了“robocopy”。虽然它继续返回。 图 4
图片: http://pastebin.com/p1QiAVnE
我能做些什么来阻止 Eclipse 这样做?
编辑:我当然应该分享我的 pom.xml:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Autorank</groupId>
<artifactId>Autorank</artifactId>
<version>3.4-Dev-${BUILD_NUMBER}</version>
<name>Autorank</name>
<description>Maven project for Bukkit plugin Autorank</description>
<url>http://dev.bukkit.org/server-mods/autorank/</url>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}</directory>
<includes>
<include>**/*.yml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<excludes>
<exclude>${basedir}/Javadocs</exclude>
<exclude>${basedir}/lib</exclude>
</excludes>
</configuration>
</plugin>
<!-- Stop Maven from including the dependencies (.jars) in the artifact
(created by Jenkins) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<excludes>
<exclude>*.jar</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<properties> <!-- Fix encoding warnings -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>bukkit-repo</id>
<url>http://repo.bukkit.org/content/groups/public/</url>
</repository>
<repository>
<id>Plugin Metrics</id>
<url>http://repo.mcstats.org/content/repositories/public/</url>
</repository>
<repository>
<id>stats-repo</id>
<url>http://centrility.nl:8081/nexus/content/repositories/releases/
</url>
</repository>
<repository>
<id>sk89q-repo</id>
<url>http://maven.sk89q.com/artifactory/repo/</url>
</repository>
<repository>
<id>Spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/</url>
</repository>
<repository>
<id>staartvin-repo</id>
<url>http://62.131.38.74:8081/artifactory/ext-release-local/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.ess</groupId>
<artifactId>Essentials</artifactId>
<version>2.13.1</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>EssentialsGroupManager</groupId>
<artifactId>EssentialsGroupManager</artifactId>
<version>2.1.11</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.massivecraft</groupId>
<artifactId>Factions</artifactId>
<version>2.7.5</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.massivecraft</groupId>
<artifactId>MassiveCore</artifactId>
<version>2.7.5</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.platymuus</groupId>
<artifactId>bukkit-permissions</artifactId>
<version>2.4</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>nl.lolmewn.stats</groupId>
<artifactId>Stats</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>Vault</artifactId>
<version>1.5.0</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.sk89q</groupId>
<artifactId>worldedit</artifactId>
<version>6.0.0-SNAPSHOT</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.mcstats.bukkit</groupId>
<artifactId>metrics</artifactId>
<version>R7</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.sk89q</groupId>
<artifactId>worldguard</artifactId>
<version>6.0.0-beta-01</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId>
<version>1.5.02</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>RoyalCommands</groupId>
<artifactId>RoyalCommands</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>OnTime</groupId>
<artifactId>OnTime</artifactId>
<version>3.13.4</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>UltimateCore</groupId>
<artifactId>UltimateCore</artifactId>
<version>1.1.8</version>
</dependency>
<dependency>
<groupId>Statistics</groupId>
<artifactId>Statistics</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.8-R0.1-SNAPSHOT</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.7.9-R0.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
【问题讨论】:
-
会认为你必须分享你的 Maven POM 的内容。另外,当您说“在 Eclipse 中导出 jar”时,您的意思是您在 Eclipse 中使用 m2e 来在您的 Maven 项目上运行包目标,还是您正在那里做其他事情?
-
好的,我现在更好地理解了您说“导出 jar”时的意思——不确定之前是否有括号注释。看起来您将要做的只是从文件系统上的内容创建一个 jar。在执行导出步骤之前,您是否检查过文件系统以查看其中的内容?我的猜测是,您描述的导出 jar 操作没有添加任何结构——对吗?我可能是错的,我知道你的问题表明我是错的,但我认为我们应该检查这一点。
-
@unigeek 当我只是在 Eclipse 中保存项目时,它似乎也会发生。所以 Eclipse 保存有问题。
-
好的,所以也许 Maven POM 不是合适的地方。我会尝试在您的项目上进行干净的构建(Project > Clean),然后查看像 Project > Build Automatically (实际上可能正在执行您认为在保存时发生的事情)和 Project > Properties > Java Compiler > Building 这样的设置.查看更改之间的输出文件夹,以便了解每个步骤发生的情况。
-
@unigeek 它正在自动构建。我没有为构建器启用项目特定设置,因此它使用默认输出文件夹。我不知道那些是什么,因为我在任何地方都找不到。我认为这是 Maven 的问题,因为它只发生在这个项目(这是唯一的 Maven 项目)中,并且它不断创建“目标”文件夹。
标签: java eclipse maven directory