我找不到这个问题的答案,所以如果我抱歉重复问题。
我有4个springboot应用程序(MICRO SERVICES ??),我们在Apex上运行Oracle数据库上的主要CRM。现在,随着时间的推移,我一直试图将其分解。所以我创建了一些spring-boot应用程序,例如我有一个用于谷歌服务的应用程序,例如:地理编码,地点搜索等。我有一个用于连接我们的CRM到Xero在线会计服务API和第三个运行web-套接字服务器,所以我们可以将消息推送给Oracle Apex的用户。
现在在我连接到同一个数据库的所有项目中,所以我有4个模型和存储库类的副本。
我想要做的是创建一个包含它们的jar,然后在项目中共享它。现在我可以创建一个库,但因为我需要在库中安装spring deps。
我创建了这个作为我的gradle.build
buildscript {
ext {
springBootVersion = '1.5.10.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
group = 'com.example'
version = '0.0.1'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-actuator-docs')
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
compile('org.springframework.data:spring-data-rest-hal-browser')
runtime('org.springframework.boot:spring-boot-devtools')
compileOnly('org.springframework.boot:spring-boot-configuration-processor')
compileOnly('org.projectlombok:lombok')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
但如果我没有带@SpringbootApplication
注释的应用程序类,则会出现错误。
我确定我错过了一些东西,但我需要用spring JPARepositories创建一个jar库。
答案 0 :(得分:1)
考虑到您只想将该库用于实体和存储库,实际上并不需要Spring启动,只能使用Spring创建库。
只需添加您需要的依赖项,在您的情况下可能只是spring-data-jpa
(或者spring-boot-starter-data-jpa
):
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
如果您想使用Spring引导提供的依赖关系管理,您仍然可以使用它:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.7.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
现在你可以使用正常的Maven JAR插件而不是Spring启动插件来构建它。