You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下Eclipse如何通过AWS CLI执行结果设置环境变量(用于AWS CodeArtifact令牌)

解决Eclipse M2E中动态加载AWS CodeArtifact令牌的问题

针对Eclipse M2E无法复用终端mavenrc脚本动态设置CodeArtifact令牌的问题,提供以下三种可行方案:

方案一:Eclipse外部工具+Maven构建依赖(无需修改项目)

这种方式让Maven构建前自动执行令牌更新脚本,无需重启IDE:

  1. 打开Run → External Tools → External Tools Configurations,新建一个Program配置:
    • 名称:Refresh CodeArtifact Token
    • 位置:填shell路径(Mac/Linux用/bin/bash,Windows用cmd.exe)
    • 参数:执行令牌获取命令并导出环境变量,示例(Mac/Linux):
      -c "export CODEARTIFACT_TOKEN=$(aws codeartifact get-authorization-token --domain 你的域名 --domain-owner 你的账号ID --query authorizationToken --output text); echo '令牌已更新'"
      
    • 切换到Environment标签,确保AWS凭证相关变量(如AWS_ACCESS_KEY_ID)已配置,或脚本能读取本地AWS凭证文件
  2. 打开目标Maven构建配置(Run → Run Configurations → Maven Build):
    • 切换到Build标签,点击Add...选择刚才创建的外部工具,设置为Before Launch的前置任务
    • 切换到Environment标签,确认CODEARTIFACT_TOKEN会被Maven进程继承
  3. 后续运行该Maven配置时,会自动先更新令牌再执行构建

方案二:在项目pom.xml中集成令牌获取(跨IDE通用)

直接在Maven构建生命周期中自动获取令牌,无需依赖IDE配置:

  1. 在项目pom.xml的<build><plugins>中添加exec插件配置,在初始化阶段获取令牌并设为Maven属性:
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
            <execution>
                <id>get-codeartifact-token</id>
                <phase>initialize</phase>
                <goals>
                    <goal>exec</goal>
                </goals>
                <configuration>
                    <executable>aws</executable>
                    <arguments>
                        <argument>codeartifact</argument>
                        <argument>get-authorization-token</argument>
                        <argument>--domain</argument>
                        <argument>你的域名</argument>
                        <argument>--domain-owner</argument>
                        <argument>你的账号ID</argument>
                        <argument>--query</argument>
                        <argument>authorizationToken</argument>
                        <argument>--output</argument>
                        <argument>text</argument>
                    </arguments>
                    <outputProperty>codeartifact.token</outputProperty>
                </configuration>
            </execution>
        </executions>
    </plugin>
    
  2. 在settings.xml或项目pom.xml的<servers>中引用该属性作为仓库密码:
    <server>
        <id>codeartifact-repo</id>
        <username>aws</username>
        <password>${codeartifact.token}</password>
    </server>
    
  3. 后续无论在Eclipse还是终端执行Maven构建,都会自动在初始化阶段更新令牌

方案三:修改Maven运行时配置加载自定义mavenrc

让Eclipse的Maven实例读取终端的mavenrc脚本,仅需一次重启IDE:
1.</think_never_used_51bce0c785ca2f68081bfa7d91973934>

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:58:11