日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Description ResourcePathLocation Type Path must include project and resource name: /

發布時間:2024/9/19 编程问答 162 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Description ResourcePathLocation Type Path must include project and resource name: / 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

  • eclipse 2019-12 (4.14.0)
  • jdk 1.8
  • Apache Maven 3.6.1
  • spring boot 2.2.13.RELEASE

錯誤

Description Resource Path Location Type Path must include project and resource name: / (org.apache.maven.plugins:maven-jar-plugin:2.4:jar:default-jar:package)java.lang.IllegalArgumentException: Path must include project and resource name: /at org.eclipse.core.runtime.Assert.isLegal(Assert.java:66)at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2122)at org.eclipse.core.internal.resources.Container.getFolder(Container.java:205)at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.mavenProjectChanged(AbstractMavenArchiverConfigurator.java:220)at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator$1.build(AbstractMavenArchiverConfigurator.java:165)at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:135)at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:169)at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$1(MavenBuilder.java:114)at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179)at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:114)at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:105)at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:179)at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:153)at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:101)at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:88)at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:197)at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:833)at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:220)at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:263)at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316)at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319)at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371)at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392)at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:154)at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:244)at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)pom.xml /ymsso-admin line 14 Maven Build Problem

原因

  • 這個錯誤只在eclipse中會報出。如果我不用eclipse,而只用mvn命令行編譯項目時沒有錯誤。
  • 這個錯誤的大意是:打包成jar時,發現你設置的輸出目錄未在本項目內(出圈了!)。
  • 其實這個錯誤是eclipse的插件m2e引起的,所以只用mvn命令行時,沒這個錯誤。

我的項目時maven的多模塊項目,如下:

myapp ├─module1 ├─module2 └─admin└─.pom.xml

我希望打包時,在項目的根目錄生成jar,因此改造admin/pom.xml如下:

<project>...<properties><main.basedir>${basedir}/..</main.basedir>...</properties><build><directory>${main.basedir}/target/admin</directory>...</build>... </project>

解決辦法1:在maven-jar-plugin插件中配置outputDirectory

將admin/pom.xml改造為:

<project>...<properties><main.basedir>${basedir}/..</main.basedir>...</properties><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><outputDirectory>${main.basedir}/target/admin</outputDirectory></configuration></plugin>...</plugins>...<build> </project>
  • 如果 maven-jar-plugin 輸出的就是你想要的,那這個方式還是不錯的。
  • 如果是 spring boot 項目,maven-jar-plugin 輸出的不含springboot,不是最終結果,不要用這個方式。

解決辦法2:在spring-boot-maven-plugin插件中配置outputDirectory

將admin/pom.xml改造為:

<project>...<properties><main.basedir>${basedir}/..</main.basedir>...</properties><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.1.RELEASE</version><configuration><fork>true</fork> <!-- 如果沒有該配置,devtools不會生效 --></configuration><executions><execution><goals><goal>repackage</goal></goals><configuration><outputDirectory>${main.basedir}/target/admin</outputDirectory></configuration></execution></executions></plugin>...</plugins>...<build> </project>
  • 嗯,這個就是適合springboot的解決辦法

參考

https://stackoverflow.com/questions/25206689/maven-with-eclipse-error-path-must-include-project-and-resource-name/27562184#27562184

總結

以上是生活随笔為你收集整理的Description ResourcePathLocation Type Path must include project and resource name: /的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。