項目是用springBoot+gradle生成的,后來改成了多模塊,結果打包的時候報錯:The value of a manifest attribute must not be null (Key=Start-Class)
這個start-class應該就是springboot啟動的application類,不知道是不是因為我改成了多模塊項目,gradle配置文件沒寫好,所以導致拿不到start-class。
以下是build.gradle文件(springboot版本原本是2.0.0 M7,后來改成了2.0.1.BUILD-SNAPSHOT):
apply from: "./libraries.gradle"
buildscript {
ext {
springBootVersion = '2.0.1.BUILD-SNAPSHOT'
mybatisGeneratorVersion = '1.4'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
/*group = 'com.psy'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8*/
/*repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}*/
//configuration for all projects
allprojects {
apply plugin: 'java'
group 'com.psy'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
/*jar {
enabled = true
baseName = 'psy'
version = '0.5.0'
manifest {
attributes "Manifest-Version": 1.0,
'Main-Class': 'org.springframework.boot.loader.JarLauncher',
'Start-Class': 'com.psy.metrics.MetricsApplication'
}
}*/
/*bootJar {
classifier = 'app'
baseName = 'psy'
version = '0.5.0'
manifest {
attributes "Manifest-Version": 1.0,
'Main-Class': 'org.springframework.boot.loader.JarLauncher',
'Start-Class': 'com.psy.metrics.MetricsApplication'
}
}*/
}
//find out the java projects
ext.javaProjects = subprojects.findAll { project -> project.name != 'docs' && project.name != 'manual' && project.name != 'guides'}
project("web") {
description = "The web module of metrics project"
dependencies {
compile(project(":service"))
compile(project(":common"))
compile(libraries.shiro_spring)
compile(libraries.shiro_redis)
compile(libraries.spring_boot_redis)
compile(libraries.spring_boot_starter_actuator)
compile(libraries.spring_boot_starter)
compile(libraries.spring_boot_starter_web)
testCompile(libraries.spring_boot_starter_test)
}
}
project("dao") {
description = "The dao module of metrics project"
dependencies {
compile(project(":common"))
compile(libraries.mysql_connector_java)
}
}
project("service") {
description = "The service module of metrics project"
dependencies {
compile(project(":common"))
compile(project(":dao"))
}
}
project("common") {
description = "The common module of metrics project"
dependencies {
compile(libraries.lombok)
compile(libraries.orika_core)
compile(libraries.spring_boot_redis)
compile(libraries.spring_boot_starter)
compile(libraries.commons_lang3)
compile(libraries.guava)
compile(libraries.javax_validation)
compile(libraries.poi)
compile(libraries.poi_ooxml)
compile(libraries.commons_beanutils)
}
}
settings.gradle:
rootProject.name = 'metrics'
include 'web'
include 'service'
include 'dao'
include 'common'
報錯信息:
有試過在build.gradle里面覆蓋bootJar的命令,把start-class強行寫上去,雖然能生成jar包,但是并不完整。
求大神們指出一下是哪里出了問題,需要怎么改,萬分感謝T T
問題解決了,最根本的原因還是build.gradle構建部分的配置放在了根目錄下,沒放在啟動類所在的模塊下,打包bootJar時提示找不到啟動類。
另外就算強行把啟動類的包名.類名寫在start-class上,因為實際上并沒有找到這個啟動類,所以打出來的包是殘缺的。
只要在啟動類所在的模塊增加一個build.gradle,并把構建部分的配置移過去,就可以正常打包了。
問題解決有賴于:https://my.oschina.net/tangdu...
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。