问题标签 [spring-boot-gradle-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - 为 spring-mongo-data 配置身份验证
环境
弹簧启动 1.3.2
春天-mongo 0.8.0
用 gradle 构建我的 spring-boot 微服务。
问题
mongo 数据库之一启用身份验证,所以我在 application.yml 中配置这些参数
spring:
data:
mongo:
username:xxx
password:xxx
authentication-database:xxx
它适用于已设置身份验证的 mongodb。
但是我得到了 mongdb 的错误, 即使我设置了用户名 =“”,密码 =“”,它也没有设置身份验证。它因身份验证而失败。
引起:com.mongodb.CommandFailureException: { "serverUsed" : "localhost:27017" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."} at com.mongodb.CommandResult.getException (CommandResult.java:76) ~[mongo-java-driver-2.13.3.jar:na] at com.mongodb.CommandResult.throwOnError(CommandResult.java:140) ~[mongo-java-driver-2.13.3. jar:na] 在 com.mongodb.DBPort$SaslAuthenticator.authenticate(DBPort.java:903) ~[mongo-java-driver-2.13.3.jar:na] 在 com.mongodb.DBPort.authenticate(DBPort.java:第436章~[mongo-java-driver-2.13.3.jar:na]在com.mongodb.DBPort.checkAuth(DBPort.java:447)~[mongo-java-driver-2.13.3.jar:na]在com.mongodb.DBTCPConnector.doOperation(DBTCPConnector.java:207) ~[mongo-java-driver-2.13.3.jar:na] 在 com.mongodb。DBCollectionImpl.createIndex(DBCollectionImpl.java:392) ~[mongo-java-driver-2.13.3.jar:na] at com.mongodb.DBCollection.createIndex(DBCollection.java:597) ~[mongo-java-driver-2.13 .3.jar:na]
我的问题是如何为这些未设置身份验证的 mongo db 删除 mongo.username,password 密钥动态?
我也很好奇为什么不能删除 application.yml 文件中的键。而在本文档中看到我们可以使用 Maven 或 gradle 自动扩展属性:属性扩展
如果只是将这些键留空,则更新,仍然会出错
完整的响应是 { "ok" : 0.0, "errmsg" : "Invalid database name: ''", "code" : 73 }}}]
java - 相当于 Gradle 的 Maven 配置文件
我试图在我的 spring boot 项目构建中实现一个简单的场景:包括/排除依赖项和打包 war 或 jar,具体取决于环境。
例如,对于环境dev
包括 devtools 和包 jar,对于prod
包战争等。
我知道它不再是基于 XML 的配置,我基本上可以在 build.gradle 中编写 if 语句,但是有推荐的方法来实现这一点吗?
我可以声明一些常见的依赖项并在单个文件中引用它们而不是创建多个构建文件吗?
是否有基于构建目标环境更改构建配置的最佳实践?
gradle - 如何使多个 Spring Boot 项目依赖项与 Gradle 一起工作?
我只是使用Spring Boot 初始化程序来创建基础和子两个项目,并使用最简单的多个项目。我在根目录设置 settings.gradle 以包含 'base','sub'。我还在sub/gradle.build 中添加了compile project(':base')依赖项。当我在根文件夹中运行gradle build时,执行 :sub:compileJave 任务时总是会失败,并且报告无法从基础项目中找到某些包。奇怪的是,当我在根文件夹中直接运行gradlew :sub:compileJava时,它会成功。任何人都可以告诉我让gradlew build工作的正确方法是什么?
spring - 我无法运行弹簧靴
我已经使用 gradle 创建了 spring boot 数据 jpa 应用程序,我的项目结构如下所示。
com.duregesh
com.durgesh.controller
com.durgesh.model
com.durgesh.repositories
com.durgesh.services
当我在下面运行spring boot时,异常正在触发描述:
com.durgesh.services.UserServiceImpl 中的字段 userJpaRepository 需要一个名为“emf”的 bean,但无法找到。
行动:考虑在您的配置中定义一个名为“emf”的 bean。
java - spring-boot 的 gradle 插件 bootRepackage 任务给出弃用警告
以下是我的毕业典礼 -
服务/build.gradle
我在运行build
任务时看到一个构建警告。
奇怪的是 - 如果我在 service/build.gradle 中禁用 bootRepackage 它就会消失。虽然这只是一个警告,但我很想知道我错过了什么。我相信 springboot 的 gradle 插件使用的某些东西已被弃用,但如果它在我的构建中 - 那么我需要修复它。
提前致谢,/kp
java - Spring Boot Maven/Gradle 插件:bootRun 任务生成很长的类路径?
成分
- Spring Boot 1.4.3(也尝试过使用 Spring Boot 1.5 RC1)
- Mac OS Sierra 上的 Java 1.8.0_112
- 摇篮 3.3 / Maven 3.3.9
- 使用 Spring Boot Gradle 插件配置的简单 Java Web 应用程序(同样的问题似乎也适用于 Spring Boot Maven 插件)
问题
尝试通过之类的方法运行应用程序,gradlew clean build bootRun
或者只是gradlew bootRun
表明 gradle/java 进程在没有任何提示的情况下悲惨地退出/崩溃。除以下内容外,不会显示更多错误或日志:
“/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/bin/java 以非零退出值 1 完成”。
然而,运行gradlew bootRun --debug
表明 BootRun(Gradle 的 JavaExec 的扩展)任务似乎想要生成一个非常非常长的 Classpath 条目,最终会破坏 Java 进程。
Spring Boot 文档指定:
要在不构建 jar 的情况下就地运行项目,您可以使用“bootRun”任务
但是如果插件要生成这么长的类路径,这种方法似乎不起作用。
复制
这里的这个项目可能会证明这个问题:
https://github.com/apereo/cas-gradle-overlay-template
在cas/build.gradle
文件中,可以添加一个依赖项来观察行为:
compile "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"
诊断
该项目包含以下依赖项:
dependencies {
compile "somewhere:something:somehow@war"
}
这对bootRun
;完全没有问题。但是,当任何其他编译/运行时依赖项添加到项目中时,所有可传递或其他依赖项都将添加到类路径中bootRun
以执行。
我还尝试创建一个“路径”JAR,希望插件/Java 可以简单地使用该Class-Path
JAR 清单中的条目来运行 Web 应用程序,并且传递给 java 命令的类路径条目将被缩短。然而,这并没有产生任何影响,java 再次崩溃了。
请注意,将 Web 应用程序作为可执行 jar 运行,java -jar app.war
与所有依赖项等完美配合。
其他人是否遇到过类似的问题?
java - 在 WebSphere 9 上运行 Spring Boot 应用程序
我有一个主类的 Spring Boot 应用程序:
与gradle.build
:
当我尝试在 WebSphere Application Server 9.0 传统版上部署 war 文件时,它会启动但需要很长时间。没有war文件,服务器启动和停止非常正常,但有应用程序,服务器挂起。
我错过了什么吗?
谢谢你的帮助!!
mongodb - MongoDB程序新数据库认证失败
我有一个使用启用了身份验证的 MongoDB 的远程租户数据库应用程序。在运行时,我必须以编程方式创建一个新的租户数据库,创建一个新的租户数据库用户,创建一个新集合,并使用用户元数据写入新数据库。我的问题是我没有正确设置租户用户授权。我能够创建新的租户数据库和具有角色凭据“readWrite”的数据库用户。我也可以正确地将文档写入“用户”集合。如果我使用我的管理员凭据,我可以毫无问题地访问租户数据库并检查用户文档。但是,如果我稍后尝试使用新创建的数据库用户凭据访问数据库,则会收到不正确的用户凭据异常。下面是我创建新租户数据库的代码,
因为客户端是远程的,所以我使用我的管理员用户 ID、密码和数据库作为凭据。但是,MongoDB 租户客户端是使用新租户数据库名称设置的。这可能是我出错的地方,但我不知道如何使用尚未创建的用户远程访问数据库。这些数据库是在运行时创建的,我不知道应用程序启动时租户用户的名称。
java - 在 RestTemplate 中映射复杂的 JSON 对象
JSON 的结构如下所示:
我试图将上面的 json 映射到我的“响应”类,但我只能检索 id、类型和名称。对于 json 对象“结果”显示结果:[]。这是我实现的代码;
公司详情类:
公司等级:
实现类:
从这两种实现方法中,我都得到了“结果”json对象的空值。我无法弄清楚我的代码有什么问题。
提前致谢。
java - 如何在 gradle 中获取 spring-boot 依赖版本?
我有一个标准的 spring-boot 项目org.springframework.boot:spring-boot-gradle-plugin
。我知道我可以用例如覆盖依赖版本
但是我怎样才能获得 spring-boot 插件当前导入的版本,以便稍后在脚本中使用它?例如: