OSX(Java 1.6)のEclipseの標準Javaプロジェクトでコーディングしたクラスがあります。このクラスは、別のライブラリのクラスとインターフェイスを使用します。
クラスを選択し、[実行]> [Javaアプリケーション]を実行すると、すべて正常に機能します。
その後、プロジェクトをMavenプロジェクトとして実行しようとすると、少しイライラし始めます。誰かが私が間違っていることを教えてくれることを期待して、ここですべての手順を要約します。-標準のJavaプロジェクトから右クリックして「構成」>「Mavenプロジェクトに変換」を実行し、「フィンランド語」をクリックしました。これまでのところすべて良い。
次に、[ビルドパス]> [ビルドパスの構成]>で、プロジェクトを含むフォルダーを追加します。まだいい
次に、Mavenが1.6ではなくJDK 1.5を使用していることをSOのどこかで読んだので、すべての@Overrideアノテーションを削除します。いずれにせよ、私はそれらを削除し、私の赤い旗は消えます。この時点で、私のクラスは元のJavaプロジェクトとまったく同じように見えます(削除した@overrideを除く)
次に、Maven>cleanを実行します。ビルドが成功します
次にMaven>インストールします。ビルドに成功しました
次に、クラスを選択して[実行]> [Javaアプリケーション]を実行すると、次のような見苦しいトレースが表示されます。
スレッド「main」の例外java.lang.NoClassDefFoundError:LMAXTrading / algos / HeartbeatClient原因:java.lang.ClassNotFoundException:LMAXTrading.algos.HeartbeatClient at java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)atjava。 security.AccessController.doPrivileged(Native Method)at java.net.URLClassLoader.findClass(URLClassLoader.java:190)at java.lang.ClassLoader.loadClass(ClassLoader.java:306)at sun.misc.Launcher $ AppClassLoader.loadClass( Launcher.java:301)at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
ここからどこへ行けばいいのかわからない。これを機能させる方法を見つけるために、私が多くの試行錯誤を繰り返し、SOや他の場所で検索したことを想像できます。しかし、私は何が悪いのか理解できません。だから誰かがアイデアを持っているなら、私は聞く準備ができています。
ナビゲータービューとパッケージエクスプローラービューからディレクトリレイアウトの下に貼り付けています
これが、JRE構成を追加した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/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>someproject</groupId>
<artifactId>someproject</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<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>
</plugin>
</plugins>
</build>
</project>