0

最近では、maven 3.x、JDK 1.6.0_26 を使用した Eclipse Juno JavaEE IDE を使用しています。私のプロジェクトのどこかで、クラスの内外で列挙型を使用しました。クリーンビルドを実行すると、エラーが表示されます

[ERROR] found   : my.package.MyClass.MyEnum
[ERROR] required: my.package.MyClass.MyEnum

次にmy/package/MyClass.java、最初にコンパイルする必要があることを確認したので、追加しました

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <execution>
            <id>default-compile</id>
            <goals>
                <goal>compile</goal>
            </goals>
            <configuration>
                <excludes>
                    <exclude>**/*.*</exclude>
                </excludes>
                <includes>
                    <include>**/MyClass.java</include>
                </includes>
            </configuration>
        </execution>
        <execution>
            <id>second</id>
            <goals>
                <goal>compile</goal>
            </goals>
            <configuration>
                <includes>
                    <include>**/*</include>
                </includes>
                <excludes>
                    <exclude>**/MyClass.java</exclude>
                </excludes>
            </configuration>
        </execution>
    </executions>
</plugin>

その後、うまくいけば機能しません。それは私にとって非常に迷惑です。アプリケーションで列挙型を使用する必要がある場合、どうすればそれを克服できますか。誰かがブログで証明しようとしているのは、Java 1.6.0_26 のバグであり、JDK 7 で修正されたものです。その場合、JDK 7.x に移行することはできません。Eclipse JNO Java EEを使用したmaven 3.xでこの問題を解決する方法。

package com.formativesoft.mcserp.validator;

public class Validator {

    public enum Lang {
        EN, BN;
    }
}
4

1 に答える 1

2

コンパイル実行ギミックは必要ありません。列挙型が定義されているのと同じアーティファクトで使用されている場合、特別な操作は必要ありません。一時的な不具合に過ぎないと思います。pom の構成から目標定義の除外の狂気を取り除き、コンソールからプロジェクトで mvn clean install を実行すると、ほぼ確実に問題は発生しません。その場合は、さらにサポートできるようにエラー メッセージを含めてください。

于 2013-03-30T11:01:31.553 に答える