EclipseでSpringブートアプリとして実行するプログラムがあります。プログラムは正常に実行されていました。その後、私は次のことをしました:
プロジェクト-> Run As-> Maven Testを右クリックします。
これは偶然でした。その後、プログラムをスプリングブートアプリとして再度実行しようとすると、以下のエラーがスローされました。
Error: Could not find or load main class com.bt.collab.ALU.api.webapp.Application
アプリケーションをメインクラスに戻すにはどうすればよいですか?ありがとう
メインクラスはpom.xmlで構成可能です
<properties>
<start-class>com.bt.collab.ALU.api.webapp.Application</start-class>
</properties>
同じ問題がありました。これを試して :
プロジェクトを右クリック-> Maven-> Update Project
次に、プロジェクトを再実行します。それがあなたにも役立つことを願っています。
Eclipseの「実行->実行構成...」をご覧ください。誤って作成した新しいものを削除する必要がありますが、既存のものは引き続き必要です。
「Run as Maven Test」の新しい実行構成が作成されたのではないかと疑っていますが、現在は常にこの構成を開始しています。
Spring Bootを使用していて、上記の提案が機能しない場合は、Eclipse問題ビュー([ウィンドウ]-> [ビューの表示]-> [問題]で確認できます)をご覧ください。
たとえば、jarファイルの1つが破損している場合、同じエラー(エラー:メインクラスgroupId。Applicationを見つけられないかロードできませんでした)を受け取ることができます。悪いjarが根本的な原因であるにもかかわらず、EclipseはApplicationsクラスを見つけることができないと文句を言います。
ただし、問題ビューでは、不良jarが特定されます。
とにかく、ローカルのmvnリポジトリ(.m2内)に手動で移動して、破損したjarを手動で削除し、更新(パッケージエクスプローラーでプロジェクトを右クリック)、Maven->プロジェクトの更新... -> OK(正しいプロジェクトにチェックマークが付いていると仮定)。
これは私がpomを更新した後に起こりました(いくつかの依存関係を追加しました)。
次の手順は、このエラーを回避するのに役立ちました
right click on the project > maven > update project
spring-boot:runコマンドを使用して、スプリングブートアプリケーションを起動します。
前提条件: 1. pom.xmlに次のプロパティを追加します
<property>
<start-class>com.package.name.YourApplicationMainClass</start-class>
</property>
2.プロジェクトをビルドする
次に、spring-boot:runを使用してmavenコマンドを構成します。
プロジェクトを右クリック|実行者|実行構成... |コマンドspring-boot:runで新しいMaven構成を追加します
誰かがビルドにGradleを使用している場合、修正はbuild.gradleファイルに次の行を追加することで行われます
apply plugin: 'application'
mainClassName = "com.example.demo.DemoApplication"
プロジェクト:Spring Boot Tool:STS
手順を解決します。
Spring 1.5.3.RELEASEバージョンを使用し、pomの依存関係を指定しました
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
そして私のメインクラスは
@SpringBootApplication
public class SpringAppStarter {
public static void main(String[] args) {
SpringApplication.run(SpringAppStarter.class, args);
}
}
しかし、まだメインクラスの実行中に私は得ていました:
私のクラス名でメインクラスを見つけられないか、ロードできませんでした。
クラスがクラスパスで利用可能であり、STS IDEを使用していたことがわかりました。
私は問題の理由を得ていなかったので、Mavenを介して手動でビルドしようとしました
mvn clean install
それでも問題があったので、プロジェクトに2つのライブラリがあることがわかりました
私がしたこと:
別のmavenRepoフォルダーを作成し、再度ビルドして、プロジェクトを更新しました。その後動作し、プロジェクトクラスパスからMavenライブラリが削除されたことがわかりました。
問題は実行中に複数のバージョンを取得していたため、アプリケーションを実行するための適切なクラスを見つけることができませんでした。このページにリストされている他のソリューションも問題を解決しますが、
誰かがこの問題を受け取った場合、これが問題を解決することを願っています
.m2から古いjarを削除し、mavenプロジェクトを更新することが主要なステップです。ほとんどの場合、問題は解決します。この問題の原因は、ほとんどが古いjarファイルの破損です
同じ問題が発生し、以下の手順に従って修正することができました。
私も同じ問題に直面しましたが、後で、自分の環境でMavenビルド操作が適切に行われていないことが原因であることがわかりました。あなたの場合も確認してください。
これはかなり遅い答えだと思います。しかし、それはまだいくつかの新しい学習者を助けるかもしれません。次の例は、NETBEANSを使用したspringboot専用です。次の手順を実行する必要がありました。
ステップ1。 @Mariuszs answerに従ってください。
ステップ2。プロジェクトを右クリック->プロパティ->実行Main Classフィールドに正しいスタータークラスがあることを確認します。そうでない場合は、参照をクリックして、使用可能なクラスから選択します。
ステップ。 [OK]-> [OK]をクリックします。タントがすべてです。ありがとうございました。
私の場合、次のことが役立ちました。
Pomに次のセクションを追加しました
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
Maven3を使用して実行し、動作しました
あなたが出くわした場合
エラー:Mavenプロジェクトでメインクラスを見つけられないか、ロードできませんでした
これは私のために働いた:
エラーの理由:このエラーの理由は、jarファイルまたはmavenプロジェクトを実行するための依存関係が正しくインストールされていないことです。
エラーの解決策:プロジェクトフォルダーに移動します(例:D:\office\OIA-service-app
)
コンピューターのアドレスバーに「cmd
」と入力してEnterキーを押します。
コマンドプロンプトタイプコマンドmvn clean install
で、インターネットに接続していることを確認します。
私は、スプリングブートとmavenビルドでSTSを使用するのが初めてです。上記のすべてを実行しましたが、うまくいきません。 STSの問題ウィンドウに2つの問題があることに気付きました。パスに不足しているjarファイルがありました(C:\ Users\UserName.m2\repository\com\jayway\jsonpath\json-path\2.2.0)。私は次のことをしました、その方法は強く提案されていませんが、私のために働きました。
1)パスの場所から.m2フォルダーを削除しました
2)STSの再起動
3)プロジェクトフォルダーを右クリック-> maven->プロジェクトを更新->「スナップショット/リリースの更新を強制」をチェック-> OKをクリックします。
Mavenは依存関係を更新し、問題は解決しました。
私は同じ問題に直面していました。ターゲットフォルダーを削除し、maven installを実行しましたが、うまくいきました。
私もこのエラーを受け取りましたが、手がかりがありませんでした。ターゲットフォルダにクラスとjarが表示されました。後でMaven 3.5をインストールし、Mavenのconf/settings.xmlを使用してローカルリポジトリをCドライブから他のドライブに切り替えました。それはその後完全に問題なく動作しました。 Cドライブにローカルレポジトリを持つことが主な問題だと思います。レポはフルアクセスを持っていたにもかかわらず。
Spring Securityの依存関係をプロジェクトに追加しているときに同様の問題が発生したため、ターゲットフォルダーを削除し、mavenの更新を再度使用しました。それは私のために働いた。
私は同じ問題を抱えていました。ローカルリポジトリから.m2フォルダフォルダを削除するだけでうまくいくことを願っています。
プロジェクトパッケージタイプがwarの場合、開始できませんでした。この構成でmaven Assemblyプラグインを使用していました。
<build>
<plugins>
<plugin>
<artifactId>maven-Assembly-plugin</artifactId>
<version>3.0.0</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<descriptors>
<descriptor>Assembly.xml</descriptor>
</descriptors>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.ttech.VideoUploaderApplication</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-Assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
私のパッケージングTPEは戦争でしたが、メインクラスの例外を見つけることができませんでした。
<groupId>com.ttect</groupId>
<artifactId>VideoUploadListener</artifactId>
<version>1.0.0</version>
<packaging>**jar**</packaging>