Eclipse IDEのpom.xml
の1行目で不明なエラーを取得します。昨日までは問題なく動作していましたが、マスターからプロジェクトを更新した後、マージの競合を修正した後、突然、pom.xmlで「不明なエラー」が発生しました。私を除いて、私のチームメイトはこの問題に直面していません。ワークスペースも変更し、キャッシュを削除しましたが、まだうまくいきません。
このプロジェクトにh2データベースを使用しています。data.sqlに値を挿入しているにもかかわらず、値を取得してh2 DBテーブルに挿入していません。この問題が発生する前は、問題なく動作していました。 pom.xmlの問題が原因だと思いますが、よくわかりません。助けてください
既存のプロジェクトを削除し、マスターから最新のコードを取得しました。その後、リポジトリフォルダーを含むユーザーの下の.m2フォルダーを削除しました。プロジェクトを更新し、スナップショット/リリースの強制更新、maven clean、maven buildを有効にしました。しかし、何も助けにはなりません。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>com.abc.roster</groupId>
<artifactId>spring-boot-roster-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot-roster-app</name>
<description>Demo project for Spring Boot Roster</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.BUILD-SNAPSHOT</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<Java.version>1.8</Java.version>
<!-- <start-class>com.infosys.roster.SpringBootRosterAppApplication</start-class> -->
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!--encryption lib -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-springsecurity3</artifactId>
<version>1.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>org.hibernate</groupId> -->
<!-- <artifactId>hibernate-core</artifactId> -->
<!-- <version>5.2.10.Final</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>io.springfox</groupId> -->
<!-- <artifactId>springfox-swagger2</artifactId> -->
<!-- <version>2.7.0</version> -->
<!-- <scope>compile</scope> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>io.springfox</groupId> -->
<!-- <artifactId>springfox-swagger-ui</artifactId> -->
<!-- <version>2.7.0</version> -->
<!-- <scope>compile</scope> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>io.springfox</groupId> -->
<!-- <artifactId>springfox-data-rest</artifactId> -->
<!-- <version>2.7.0</version> -->
<!-- </dependency> -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</project>
application.properties
server.port=
spring.h2.console.path=/h2
spring.h2.console.enabled=true
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.platform=h2
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=update
spring.datasource.continue-on-error=true
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
Pom.xmlの不明なエラーを削除し、H2データベースに値を入力できるようにする必要があります。
現状に応じた回答
この問題 修正されました:
https://download.Eclipse.org/m2e-wtp/releases/1.4/ からmavenarchiverプラグイン0.17.3のm2eコネクタをインストールしてください
廃止された回答
Spring Bootからのダウングレードよりも大きな変更ではありません2.1.5.RELEASE
から2.1.4.RELEASE
はダウングレードのみになります 影響を受けるMaven JARプラグイン から3.1.2
から3.1.1
このバグが存在する限り:
<properties>
<!-- ... -->
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
私にとっては、pom.xmlの親タグを変更し、それが2.1.5を2.1.4に変更して解決した後、Maven-> Update Project
@Shravaniからの提案に従って、私のpom.xmlファイルで、この領域のバージョン番号を次のように変更しました。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
これに:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
次に、プロジェクトを右クリックして「Maven-> Update project ...」を実行しました。これにより、問題は解消されました。
Eclipseとspring-boot-starter-parent 2.1.5にはバグがあります
「mavenのパッケージング属性がwarの場合は問題ありません。問題はjarタイプにあります。」したがって、パッケージングタイプを変更することで、この問題を修正することもできます。
<packaging>war</packaging>
問題を修正するよりも、以下のようなプロパティに3.1.1を追加します
<properties>
<Java.version>1.8</Java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
M2eコネクターをアップグレードするにはである必要があります。既知のバグですが、解決策があります
Into Eclipse clic "Help"> "Install new Software ..."
ウィンドウを表示します。 「インストール」ウィンドウで:
2a。入力ボックス「Work with」に、次のサイトの場所を入力してEnterキーを押します https://download.Eclipse.org/m2e-wtp/releases/1.4/
2b。 「名前」入力ボックスに多くの情報が表示されます。すべてのアイテムを選択
2c。 「次へ」ボタンをクリックします。
インストールを完了し、Eclipseを再起動します。
help
> check for update
にアクセスして、Springツールスイートを更新しました。
私にとって、SpringBoot 2プロジェクトのpom.xmlを2.1.6.RELEASEから変更する
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.REL`enter code here`EASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
2.1.4.RELEASEが検証され、機能する
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
私のためにpom.xmlの親タグを変更し、それを解決しましたchange 2.1.5 to 2.1.4
、次にMaven-> Update Project
。それも私のために働いた。
私にとって同じ問題、Spring Starter Demoの元のコードは1行目に不明なエラーを示します:
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
...
2.1.6.RELEASEのバージョンのみを2.1.4.RELEASEに変更すると、問題が修正されます。
私はあなたのエラーを再現することはできませんが(あなたのチームメイトの誰もできないので)、私はあなたに役立つかもしれない提案を持っています。
Byte Order Mark をご存知ですか? 1行目に表示されているように、問題の可能性が高いです。おそらく、どこかでエラーが発生するように設定を変更した可能性があります。ウィキペディアの記事からのこの引用は、私が特に関係があると思います:
BOMの使用はオプションです。その存在は、ファイルの先頭で非ASCIIバイトを期待しないが、テキストストリームを処理できるソフトウェアによるUTF-8の使用を妨害します。
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
下 <properties>
タグで問題が修正されました。
次のアクションは私のために働きました。
1.ツールバーのプロジェクトに移動->「自動ビルド」のチェックを外します
2.POMファイルで、spring-bootバージョンを2.1.4 RELEASEにダウングレードします。
3.プロジェクト名を右クリック-> Mavenを選択-> [プロジェクトの更新]をクリックします。 -> OK mavenの依存関係がすべてダウンロードされるまで待ちます(インターネットが必要です)。
私のpom.xmlファイルで、spring-boot-starter-parentアーティファクトのバージョンを2.1.6.RELEASEから2.1.4.RELEASEにダウングレードする必要がありました
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
に変更される
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
そして、その奇妙な不明なエラーが消えた
バージョン3でも同じエラーが発生しました。これはSTSを最新バージョンにアップグレード:4.5.1.RELEASEの後に機能しました。最新のSTSのコードや構成を変更する必要はありませんでした。
Eclipseでこのエラーが発生したIDEバージョン4.10、Springブート2.2.0.M4、Springブートバージョンを2.2.0.M2に変更(他の多くのソリューションが推奨され、エラーが解決された後)。 Springブートスタータープロジェクトモジュールmaven POMの最新バージョンで欠落または破損している可能性があります。
最新のEclipseまたはSpringツールスイート4.5以降のみが必要です。