【问题标题】:Infinite Maven 'target/classes' folders无限的 Maven 'target/classes' 文件夹
【发布时间】: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


【解决方案1】:

我遇到了同样的问题,无限类/目标/类/目标目录。我不得不使用名为 Long Path Eraser 的免费软件程序来删除这些目录。

我会告诉你是什么解决了我的问题,我改变了这个:

<include>**/*.yml</include>

对此:

 <include>filename.yml</include>

而不是让 maven 搜索文件。幸运的是我只有一个文件,所以这对我来说是一个有效的解决方案。如果您将您的目录更改为“directory/*.yml”而不是通配符目录,也许会有所帮助。

【讨论】:

  • 这似乎有效。我会测试一段时间再报告!
【解决方案2】:

这里可能是错误的,但希望这只是深入到 JAR 导出对话框以展开您的项目并取消选择目标文件夹的问题。似乎该对话框可能更明显地说明它将包含在 jar 文件中的内容,但它(至少在我的情况下)折叠了项目,从而隐藏了将包含在 jar 中的内容的详细信息。看看您是否可以找到此处显示的复选框并在未选中该框的情况下再次导出。祝你好运!

【讨论】:

  • @Staartvin 运气好吗?从之前的讨论中,我感觉到你在正确的轨道上。
  • 当我不选择它时,它似乎没有创建任何“目标”文件夹。但是,如果我 do 选择它,is not 也不会创建一个。但是,目标文件夹会在一段时间后随机出现,并充满重复的文件夹模式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 2020-04-07
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
相关资源
最近更新 更多