GCP / Maven上的新鲜肉类新手
我下载了GCP getting-started-java github示例,并希望运行书架示例。
当我查看多个POM文件时,我看到每个文件都引用了GCP的项目ID。
我不能使用与GCP存储桶名称相同的唯一项目ID。
所以,当我运行
gcloud初始化
并选择或创建配置,并使用唯一的项目ID制作我自己的项目,这是否会自动覆盖项目ID的每个POM文件定义?还是我需要做一些Maven clean命令来更改它???
好吧...当我在每个文件夹中RTFM时,它说
MVN清洁码头:运行爆炸-Dbookshelf.bucket = MY-BUCKET
甚至尝试过:
mvn jetty:run
我得到一个构建失败,上面写着:
[错误]在当前项目和插件组中找不到前缀为'jetty'的插件
所以...我
酿造码头
然后要开始使用码头,我必须将“插入”详细信息复制到我的POM文件中...其中一个,因为有几个?
但是当我安装VS Code插件时,它已经更新了所有POM文件。我仍然收到“找不到前缀为'jetty'的插件”错误
我想我会停止这个问题:
我如何使自己“知道”码头的安装和使用情况?
答案 0 :(得分:1)
使用简写插件目标jetty:run-exploded
或jetty:run
时,maven试图找到插件。此简写形式需要解析groupId:artifactId:version:goal
才能运行。
长期的形式是...
$ mvn org.eclipse.jetty:jetty-maven-plugin:9.4.15.v20190215:run
要解决此问题,只需将插件添加到您的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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
...
<build>
...
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.15.v20190215</version>
</plugin>
</plugins>
</pluginManagement>
...
</build>
</project>
当您使用速记语法时,以上将始终使用特定版本的jetty-maven-plugin。
或者,由于对所使用的版本的控制较少,因此可以设置pluginGroup in maven's $HOME/.m2/settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<pluginGroups>
<pluginGroup>org.eclipse.jetty</pluginGroup>
</pluginGroups>
...
</settings>