7

Windows XP で maven3.03 と Eclipse 3.5 を使用しています。古い W​​eb プロジェクトを Maven 構成スタイルに変換しました。
プロジェクトをEclipseでコンパイルすると、すべてがコンパイルされます。
注: クラスパスには、Maven Dependencies と JDK(1.6_018) が含まれています。
mvn を使用してコマンド ラインからコンパイルすると、いくつかのエラーが発生
します。
2. パッケージ com.sun.xml.internal.stream.writers が存在しません 3. シンボルが見つかりません
- シンボル: クラス XMLDOMWriterImpl 4.
パッケージ com.sun.xml.internal.messaging.saaj.util が存在しません5. パッケージ
com .sun.xml.internal.bind.v2.runtime.unmarshaller が存在しません
6. シンボルが見つかりません - シンボル: class NamespaceContexHelper
7. シンボル symbol が見つかりません: class ByteOutputStream

私はこれが太陽の瓶で何かを見ることができます。しかし、なぜEclipseがOKでコマンドラインがそうでないのか理解できません。

編集:上記のリストで言及しなかったエラーの1つは次のとおりです。

[ERROR]<path>\EventsViewer.java:[54,69] inconvertible types found: <br>java.util.SortedMap<java.util.Date,java.util.List<com.myClass>>
required: java.util.Map<? extends java.util.Date,? extends java.util.List<com.myOtherClass>>


日食で同じ行を見ると、警告が表示されます。

Type safety: Unchecked cast from SortedMap<Date,List<myClass>> to Map<? extends Date,? extends 
 List<myOtherClass>>

Eclipse では警告が表示され、maven ではエラーが表示されます。org.eclipse.jdt.core.prefs を確認したところ、設定が org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning であることがわかりました。

更新:上記のエラーのいくつかを読みました。「問題」は、Eclipseでは未使用のインポートとして表示されることです。Stally maven はこれをエラーとして報告します。この未使用のインポートを削除すると、エラーはなくなりました。しかし、それでも問題 3 と 7

発生します。私はsuppressWarningsを使用していないためです。エラーが違うことに驚くばかりです。それは何ですか?

4

4 に答える 4

2

Eclipse ビルドと Maven ビルドの両方に同じ JDK を使用していることを再確認してください。と思っていても、とにかくもう一度確認してください。

これらのパッケージは、Java の一部のバージョンに含まれていて、他のバージョンには含まれていないパッケージの一部です。

于 2011-07-03T15:01:09.100 に答える
0

Java のバージョンが異なる場合は、 maven-compiler-pluginを追加します。

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                    <target>1.6</target>
                    <source>1.6</source>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

ソースとターゲットの構成を 1.6 に向け、Maven プロジェクトのコンテキスト メニューからプロジェクト構成を更新すると、多くの場合、非同期の問題が解決されます (コンパイル結果が異なります)。

ここに画像の説明を入力

于 2011-07-03T18:26:34.820 に答える