小编Con*_*tch的帖子

无法创建 fargate 配置文件

尝试使用 amazon eks 创建 fargate 配置文件时(使用命令 eksctl create cluster --name myclustername --version 1.14 --fargate),我得到

[?]  all EKS cluster resources for "myclustername" have been created
[?]  saved kubeconfig as "/home/connor/.kube/config"
[?]  creating Fargate profile "fp-default" on EKS cluster "myclustername"
Error: failed to create Fargate profile "fp-default" on EKS cluster "myclustername": failed     to create Fargate profile "fp-default": AccessDeniedException: Account 339969016160 is not authorized to use this service
status code: 403, request id: 1db7cf38-002e-48b8-8fa6-8a7b7eab324d
Run Code Online (Sandbox Code Playgroud)

关于我需要添加什么权限来解决这个问题的任何想法?我更喜欢尽可能通过 cli 进行所有管理

amazon-web-services amazon-iam aws-fargate amazon-eks

9
推荐指数
1
解决办法
1289
查看次数

Maven使用了错误版本的javax.validation

我有一个动态的Web项目,我一直在使用hibernate作为jpa提供程序.直到上周,我可以使用hibernate从我的数据库中插入,更新,查询和删除.最近,我开始进行验证,并引入了许多不同的maven依赖项.在这样做的过程中,我不知何故最终使用了旧的,已弃用的javax.validation jar版本,它抛出了一个没有这样的方法异常.我在下面列出了堆栈跟踪的相关行:

Caused by: java.lang.NoSuchMethodError: javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String;
at org.hibernate.validator.internal.xml.ValidationBootstrapParameters.<init>(ValidationBootstrapParameters.java:63)
Run Code Online (Sandbox Code Playgroud)

但是,在我的pom.xml中,我有以下依赖项(当通过javap和eclipse检查时,它在指定的类中有方法getClockProviderClassName()):

<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.0.Final</version>
    </dependency>   
Run Code Online (Sandbox Code Playgroud)

我将以下排除标记放在我的pom中的多个依赖项中,以尝试确保它不会从其他来源中提取此jar:

            <exclusion>
                <artifactId>validation-api</artifactId>
                <groupId>javax.validation</groupId>
            </exclusion>
Run Code Online (Sandbox Code Playgroud)

我还简化了我的构建路径,因此它有三个元素:一个属性文件夹,只包含我的log4j配置,JRE系统库(版本1.8)和maven依赖项.有没有办法告诉被弃用的javax.validation jar来自哪里?我可以强制程序使用我带入maven的2.0.0版本吗?谢谢您的帮助.

附加信息:
完整堆栈跟踪

persistence.xml源码

工作数据源属性

Java构建路径

发生根异常的行(在我的代码中)

查看包含jar的内部,看它包含的方法

使用javap检查maven(m2)目录中的工件

来自maven的依赖概述

来自pom.xml的依赖关系

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.0.2.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.2.Final</version>
        <exclusions>
            <exclusion>
                <artifactId>jboss-logging</artifactId>
                <groupId>org.jboss.logging</groupId>
            </exclusion>
            <exclusion>
                <artifactId>validation-api</artifactId>
                <groupId>javax.validation</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId> …
Run Code Online (Sandbox Code Playgroud)

eclipse hibernate persistence.xml maven

3
推荐指数
2
解决办法
8952
查看次数

在 gitlab ci 中查找 docker-compose 中运行的容器的 url/ip

我有一个在 docker-compose 中运行的应用程序(用于验收测试)。验收测试在本地进行,但需要在 docker-compose 中运行的 Web 服务容器的主机(或 IP)才能向其发送请求。这在本地工作正常,但当容器在 gitlab ci 服务器中运行时,我找不到容器的 IP。我尝试了以下几个解决方案(所有这些解决方案在本地运行时都有效,但在 gitlab ci 中都不起作用)来查找在 gitlab ci 服务器中的 docker-compose 中运行的容器的 url:

  1. 使用“docker”作为主机。这适用于在 docker 中运行的应用程序,但不适用于 docker-compose
  2. 使用 docker-inspect 查找容器的 ip ( dockerspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 阅读理解)
  3. 使用 docker-compose.yml 中的网络为容器分配静态 IP(最新尝试)。

gitlab ci 文件可以在这里找到: https://gitlab.com/connorbutch/reading-compressive/-/blob/9-list-all-assessments/.gitlab-ci.yml

    image: connorbutch/gradle-and-java-11:alpha

variables:
  GRADLE_OPTS: "-Dorg.gradle.daemon=false"
  DOCKER_HOST: "tcp://docker:2375"
  DOCKER_DRIVER: "overlay2"

before_script:
  - export GRADLE_USER_HOME=`pwd`/.gradle

services:
  - docker:stable-dind

stages:
  - build
  - docker_build
  - acceptance_test

unit_test:
  stage: build
  script: ./gradlew check
  cache:
    key: "$CI_COMMIT_REF_NAME"
    policy: pull
    paths:
      - …
Run Code Online (Sandbox Code Playgroud)

networking containers gitlab docker docker-compose

3
推荐指数
1
解决办法
4149
查看次数