小编Har*_*own的帖子

带有@Produces注释但无范围的方法的行为

我有一个带@Produces注释的方法可以创建一个Apple.

当我@ApplicationScoped像这样使用它

public class AppleProducer {
    @ApplicationScoped
    @Produces
    public Apple createApple() {
        return new Apple();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后Apple只为整个应用程序创建一次.

当我@RequestScoped像这样使用它

public class AppleProducer {
    @RequestScoped
    @Produces
    public Apple createApple() {
        return new Apple();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后它会为每个请求创建.

但是,如果我没有指定范围怎么办?

public class AppleProducer {
    @Produces
    public Apple createApple() {
        return new Apple();
    }
}
Run Code Online (Sandbox Code Playgroud)

Apple会多久创建一次?我怀疑每次访问,是否正确?有关于此的文件吗?

java ejb java-ee cdi

6
推荐指数
2
解决办法
902
查看次数

Maven Enforcer插件:通过命令行指定规则

我想通过命令行执行Maven Enforcer插件

我试过了:

mvn enforcer:enforce -Drules=[requireReleaseDeps]
mvn enforcer:enforce -Drules=requireReleaseDeps
Run Code Online (Sandbox Code Playgroud)

我总是收到此错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (default-cli) on project lkww-util-app-wurm-admin-rs-api: The parameters 'rules' for goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce are missing or invalid -> [He
lp 1]
Run Code Online (Sandbox Code Playgroud)

我该如何指定rules参数?

command-line maven-plugin maven-3 maven maven-enforcer-plugin

6
推荐指数
2
解决办法
2364
查看次数

在build.gradle中如何提取和重用Maven存储库配置?

我有这个build.gradle文件:

repositories {
    maven {
        credentials {
            username "$artifactory_user"
            password "$artifactory_password"
        }
        url 'http://some.domain/artifactory/repo'
    }
}

publishing {
    repositories {
        publications {
            maven(MavenPublication) {
                from components.java
            }
        }
        maven {
            credentials {
                username "$artifactory_user"
                password "$artifactory_password"
            }
            url 'http://some.domain/artifactory/repo'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想提取并重用 Maven 存储库定义。

这是行不通的:

repositories {
    mavenRepository()
}

publishing {
    repositories {
        publications {
            maven(MavenPublication) {
                from components.java
            }
        }
        mavenRepository()
    }
}

private void mavenRepository() {
    maven {
        credentials {
            username "$artifactory_user"
            password "$artifactory_password"
        } …
Run Code Online (Sandbox Code Playgroud)

groovy closures gradle build.gradle

6
推荐指数
1
解决办法
1217
查看次数

用于查看 Google Cloud SQL 中数据的 GUI

我们在 Cloud SQL 中使用 PostgreSQL 数据库。我们使用私有 IP 地址,并使用Cloud SQL 代理访问pod 中的数据库。

我们现在正在寻找一种快速、轻松地访问这些数据库中的数据的方法。据我所知,没有任何内置内容支持这一点。

有哪些方法可以安装(最好是基于 Web 的)GUI 来查看数据?

postgresql user-interface google-cloud-sql google-cloud-platform cloud-sql-proxy

6
推荐指数
1
解决办法
7482
查看次数

通过命令行替换 pom.xml 中的 Maven 属性

我想pom.xml通过一些 Maven 插件用命令行调用替换文件中的 Maven 属性。

<properties>
    <my.property>ISO-8859-1</my.property>
<properties>
Run Code Online (Sandbox Code Playgroud)

你知道一个插件可以做到这一点吗?

插件的版本需要很长,因为它检查一些依赖是否可用。除此之外,它在我的情况下不起作用。

java command-line properties pom.xml maven

5
推荐指数
1
解决办法
4966
查看次数

指定应考虑进行不同计算的列

我正在使用javax.persistence.criteria.CriteriaBuilderjavax.persistence.criteria.CriteriaQuery选择一些实体。

我现在只想选择应该由某个列指定的唯一实体。

javax.persistence.criteria.CriteriaQuery#distinct只返回唯一实体的方法。

我宁愿需要类似的东西

CriteriaQuery<T> distinct(String... columnNames)
Run Code Online (Sandbox Code Playgroud)

你知道我如何在我的 JPA 中烘焙如此独特的东西CriteriaQuery吗?

使用Hibernate似乎是可能的

java jpa criteria distinct criteria-api

5
推荐指数
1
解决办法
4825
查看次数

Jenkins 声明式管道:找出触发工作

我们有一个使用声明性管道的 Jenkins 工作。

此作业可以由不同的其他构建触发。

在声明性管道中,如何找出哪个构建触发了管道?

jenkins jenkins-pipeline jenkins-2 jenkins-declarative-pipeline

5
推荐指数
1
解决办法
7728
查看次数

Google Cloud Run 适合运行 Spring Boot?

我们有一个 Docker 容器,用于打包 Java Spring Boot 应用程序。应用程序有时需要大约 40 秒才能启动。

Google Cloud Run 是否适合运行这样一个“重量级”的应用程序?

假设它会缩小到 0 个副本,然后将需要 40 秒以上的时间来处理以下内容。或者 Cloud Run 方面是否有一些逻辑可以避免这种情况。

java spring-boot google-cloud-platform google-cloud-run

5
推荐指数
1
解决办法
2082
查看次数

Gradle fat jar 不包含库

我创建了一个简单的 Gradle Java 项目。该build.gradle文件如下所示:

plugins {
    id 'java'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.10'
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
}

test {
    useJUnitPlatform()
}

task customFatJar(type: Jar) {
    archiveBaseName = 'fat-jar'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}
Run Code Online (Sandbox Code Playgroud)

我正在jar根据https://www.baeldung.com/gradle-fat-jar创建脂肪。

但是,生成的 jar 不包含commons-lang3库。它只包含项目的类文件。

为什么我的库没有包含在 fat 中jar

java jar gradle gradle-task fatjar

5
推荐指数
1
解决办法
1110
查看次数

5
推荐指数
1
解决办法
4696
查看次数