我的构建通过直接在pom上使用用户PAT(个人访问令牌)在本地工作。xml
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://[USER]:[PAT]@maven.pkg.github.com/myaccount/myrepo</url>
</repository>
从github下载:https://[USER]:[PAT]@maven。包装。github。com/myaccount/myrepo/org/springframework/flex/springflexcore/1.6。1.BUILD-SNAPSHOT/maven-metadata。xml(796b,592b/s)
我没有
设置。xml已配置。
然而,它打破了Github操作的工作流程:
警告:无法传输元数据组织。springframework。弹性:Spring弹性芯:1.6。1.BUILD-SNAPSHOT/maven-metadata。xml from/to github(***maven.pkg.github.com/myaccount/myrepo):的身份验证失败https://maven.pkg.github.com/myaccount/myrepo/org/springframework/flex/spring-flex-core/1.6.1.BUILD-SNAPSHOT/maven-metadata.xml401未经授权
无法在组织上收集依赖项。springframework。flex:springflex核心:jar:1.6。1.BUILD-SNAPSHOT:无法读取组织的工件描述符。springframework。flex:springflex核心:jar:1.6。1.构建快照
我的工作流程如下:
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Cache Maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build with Maven
run: mvn -B package --file dev/server/pom.xml
为什么它打破了Github工作流?
您需要使用GITHUB_令牌进行操作。请看这里:https://docs.github.com/en/packages/guides/configuring-apache-maven-for-use-with-github-packages#authenticating-到github包
要使用GitHub操作工作流进行身份验证:对于包注册中心(PACKAGE-REGISTRY.pkg.github.com),可以使用GITHUB_TOKEN。
name: Java CI with Maven
on:
push:
branches: [ maven ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build core with Maven
...
- name: Publish package core
run: mvn --batch-mode deploy --file myproject.core/pom.xml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
基于你的问题,我想:
GitHub包中部署了maven项目,我们称之为library
如果您的
库
甚至是一个公共包,不幸的是,目前GitHub不支持对公共包从maven
进行未经授权的访问。因此,你应该这样做:
转到
应用程序
存储库的设置部分,在机密
小节中创建两个名为用户名
的环境机密,该值包含您的GitHub用户名(或库
包所有者的用户名);和ACCESS\u TOKEN
指向在上一步中创建的PAT TOKEN的值。
现在,在
app
存储库中创建一个mavensettings.xml,例如,您可以在您的workflow.yml
文件旁边创建它。
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<activeProfiles>
<activeProfile>github</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
</repository>
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/owner_username/package_name</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>github</id>
<username>${env.USER_NAME}</username>
<password>${env.ACCESS_TOKEN}</password>
</server>
</servers>
</settings>
name: Java CI with Maven
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Build with Maven
run: mvn -s $GITHUB_WORKSPACE/.github/workflows/maven-settings.xml -B package --file pom.xml
env:
USER_NAME: ${{ secrets.USER_NAME }}
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
如何从其 GitHub 存储库(该库使用 Maven 作为构建系统)添加 Java 库作为依赖项添加到我的 Maven 项目中?我可以在不下载和编译库的情况下执行此操作吗?
我将一个maven工件上传到GitHub包注册表(Beta版),并希望将其添加为maven依赖项。我已经在Regestry测试版中,并为我的示例HalloMaven项目激活了它。此外,也很成功,因此该工件在此处是公开的:https://github.com/TobseF/HelloMaven/packages 但如何将其作为maven依赖项包含? 我试图用这个: 但这种依赖性无法解决。奇怪的是,是
我有一个核心项目,处理常见问题并应用方面,称为“common”。服务项目将此核心项目用于常见流程。 我必须在“通用”中管理异常处理,并且我必须从通用的属性文件中读取消息。但是服务也可以有自定义消息。 所以我把一条消息放在共同点上 } 共同点是,我有common-messages.properties 允许将服务命名为service\u 1,该服务依赖于Common。 Service\u 1还有Se
我正在尝试使用Maven作为构建工具,为一个简单的Spring启动应用程序编写github操作管道。构建和验证成功,但将Jar部署到Github注册表失败,出现错误: 这是我的pom。xml 这是我创建的工作流文件: 我还尝试将服务器标记settings.xml,在maven部署阶段将其作为参数传递,但同样的错误也失败了。
我的pom.xml如下所示: 有人能帮我吗?
在项目A中,我有POJO和DAO。在项目B中,所有的业务规则、控制器、sping配置等等。 我已经按照这里的建议成功地将项目A链接到B。 src/main/webapp/web-inf/spring/smartquality-datasource.xml是: src/main/webapp/web-inf/spring/smartqualite-security.xml是: serc/main/w