Gradle Build

eldrior

Aktives Mitglied
Hallo,

ich habe ein kleines Programm mit JavaFX und Spring entwickelt. Für dieses Programm nutze ich jetzt das erste Mal Gradle. Ich habe es geschafft das Programm mithilfe des Gradle Run Tasks in IntelliJ zum laufen zu bringen. Jetzt habe ich versucht daraus eine Jar zu machen. Die Jar wird auch fehlerfrei erzeugt, allerdings kann ich sie nicht starten. Dabei ist es egal, ob ich den Standard Build nehme, oder meinen "eigenen" fatJar Build. Ich bekomme folgenden Fehler, wenn ich die Jar ausführen möchte (Da kam noch ne ganze Menge vor, ich vermute aber, ich habe den wichtigen Teil erwischt. Falls nicht, einfach bescheid sagen):

/build/libs/Wochenplan.jar --> aufgerufen aus dem Ordner selbst mit java -jar Wochenplan.jar
18:38:04.859 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl - Adding Integrator [org.hibernate.cfg.beanvalidation.BeanValidationIntegrator].

18:38:04.861 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl - Adding Integrator [org.hibernate.secure.spi.JaccIntegrator].

18:38:04.863 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl - Adding Integrator [org.hibernate.cache.internal.CollectionCacheInvalidator].

18:38:04.863 [main] DEBUG org.hibernate.integrator.internal.IntegratorServiceImpl - Adding Integrator [org.hibernate.jpa.event.spi.JpaIntegrator].

18:38:04.938 [main] INFO org.hibernate.Version - HHH000412: Hibernate Core {5.0.12.Final}

18:38:04.940 [main] INFO org.hibernate.cfg.Environment - HHH000206: hibernate.properties not found

18:38:04.941 [main] INFO org.hibernate.cfg.Environment - HHH000021: Bytecode provider name : javassist

18:38:04.955 [main] DEBUG org.hibernate.service.spi.ServiceBinding - Overriding existing service binding [org.hibernate.secure.spi.JaccService]

18:38:04.972 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Retrieved dependent beans for bean 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#28eaa59a': [entityManagerFactory]

18:38:04.972 [main] WARN org.springframework.context.support.ClassPathXmlApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [spring.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

18:38:04.972 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@68999068: defining beans [customerRepositoryImpl,employeeRepositoryImpl,myOrderRepositoryImpl,weekDetailRepositoryImpl,weekTextRepositoryImpl,customerServiceImpl,employeeServiceImpl,orderServiceImpl,weekServiceImpl,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.event.internalEventListenerProcessor,org.springframework.context.event.internalEventListenerFactory,employeeService,weekService,dataSource,entityManagerFactory,transactionManager,org.springframework.transaction.config.internalTransactionalEventListenerFactory,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor]; root of factory hierarchy

Exception in thread "main" java.lang.reflect.InvocationTargetException

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)

at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)

at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)

at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [spring.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)

at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1078)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:857)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)

at de.mycompany.wochenplan.Main.main(Main.java:47)

... 8 more

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43)

at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:87)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:179)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:149)

at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:54)

at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353)

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:370)

at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:359)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)

... 20 more

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException

at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)

at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)

... 30 more

Meine Gradle Datei sieht so aus:

Java:
buildscript {
    ext {
        springBootVersion = '1.5.7.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

group 'de.my-company'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'

mainClassName = 'de.mycompany.wochenplan.Main'


sourceCompatibility = 1.8


task fatJar(type: Jar) {
    manifest {
        attributes 'Implementation-Title': 'Wochenplan',
                'Implementation-Version': version,
                'Main-Class': 'org.springframework.boot.loader.JarLauncher',
                'Start-Class': 'de.mycompany.wochenplan.Main'
    }
    baseName = project.name + '-all'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'

    //compileOnly "org.projectlombok:lombok"

    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    runtime('mysql:mysql-connector-java')
    compileOnly('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')

    //PDF:
    compile group: 'com.itextpdf', name: 'itextpdf', version: '5.0.6'
}

sourceSets {
    main.java.srcDir "src/main/java"
    main.resources.srcDir "src/main/resources"
}

Interessant finde ich folgendes: Ich habe das Programm auf einem Mac entwickelt und in der Entwicklungsumgebung auf dem Mac läuft es einwandfrei. Versuche ich es auf dem Mac die jar direkt wie oben beschrieben aufzurufen, oder führe ich das Script aus, das unter /build/distributions bereitgestellt wird aus, erhalte ich die Fehlermeldung.
Führe ich das unter Windows aus, läuft es einwandfrei. Es braucht ewig zum Starten und selbst in der Entwicklungsumgebung inkl. Kompilieren bin startet das Programm in einem Bruchteil der Zeit, aber es startet immerhin.
Kann mir jemand sagen, was ich falsch gemacht habe, dass das Programm auf dem Mac nicht läuft? Vielleicht sieht ja noch jemand, wo mein Fehler liegt, dass es so lange zum Starten braucht, aber das Problem ist vorerst nebensächlich...

Vielen Dank im Voraus
eldrior


edit:
wenn ich den fatJar Task starte und dort die Jar starte, bekomme ich einen anderen Fehler:

java -jar Wochenplan-all-1.0-SNAPSHOT.jar

Fehler: Hauptklasse org.springframework.boot.loader.JarLauncher konnte nicht gefunden oder geladen werden

Ursache: java.lang.ClassNotFoundException: org.springframework.boot.loader.JarLauncher
 

olfibits

Aktives Mitglied
Hallo!
Falls du noch Hilfe brauchst: Das Problem auf dem Mac ist wie angegeben, dass die Klasse nicht gefunden wurde.
Bitte zippe doch mal dein Projekt und lade es - ebenso bitte das Jar-Archiv - hier hoch. Offensichtlich gibt es hier ein Problem mit den Packages.

Das lange Laden liegt wohl an dem Initialisieren aller Bibliotheken.

LG Florian
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Gradle build funktioniert nicht Tools - Maven, Gradle, Ant & mehr 10
Moman2022 Hauptklasse kann nicht gefunden werden gradle build Tools - Maven, Gradle, Ant & mehr 3
N No Main Manifest Attribute trotz Eintrag bei Gradle Tools - Maven, Gradle, Ant & mehr 1
8u3631984 Gradle und NPM wie strukturieren Tools - Maven, Gradle, Ant & mehr 3
S Gradle kann Lottie Implementation nicht finden Tools - Maven, Gradle, Ant & mehr 5
8u3631984 Gradle nicht benötigte Dependencies finden Tools - Maven, Gradle, Ant & mehr 3
B Gradle Terminal/Console Encoder Tools - Maven, Gradle, Ant & mehr 9
S "Wer" löscht JARs aus meinem Gradle-cache? Tools - Maven, Gradle, Ant & mehr 3
von Spotz Gradle: Warum wird das Plugin nicht geladen? Tools - Maven, Gradle, Ant & mehr 4
8u3631984 Verschachteltes Gradle Projekt Tools - Maven, Gradle, Ant & mehr 0
von Spotz Gradle: Dependencies und Plugins vom root Projekt für die child-Projekte verfügbar machen Tools - Maven, Gradle, Ant & mehr 5
J Gradle signing Plugin Tools - Maven, Gradle, Ant & mehr 0
Y Gradle finished with non-zero exit value 1 mit Gradle Tools - Maven, Gradle, Ant & mehr 1
L Gradle Ein lokales Eclipse Projekt in Gradle dependency einbinden Tools - Maven, Gradle, Ant & mehr 2
8u3631984 Gradle : Baue anderes Modul und packe es in einen Docker Container Tools - Maven, Gradle, Ant & mehr 0
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Gradle Dependencies in Module vererben Tools - Maven, Gradle, Ant & mehr 2
J [Gradle] Task Reihenfolge pusblishMaven vor codenarcTest Tools - Maven, Gradle, Ant & mehr 0
J netbeans - jasperreports - gradle - klappt nicht Tools - Maven, Gradle, Ant & mehr 0
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
L Gradle src-gen zum Classpath hinzufügen Tools - Maven, Gradle, Ant & mehr 0
N Gradle Tools - Maven, Gradle, Ant & mehr 4
W Gradle in Netbeans ... wie? Tools - Maven, Gradle, Ant & mehr 28
N Gradle für Tests 2 Frameworks Tools - Maven, Gradle, Ant & mehr 2
C Gradle create project within application Tools - Maven, Gradle, Ant & mehr 0
Tom299 (Gradle) Wie die JAR eines 2. Projektes "includieren" Tools - Maven, Gradle, Ant & mehr 1
Psypsy Multi-Projekt mit Gradle Tools - Maven, Gradle, Ant & mehr 1
Kr0e Best practices / Gradle und co Tools - Maven, Gradle, Ant & mehr 7
H Maven build.plugins.plugin.version fehlt Tools - Maven, Gradle, Ant & mehr 0
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
L Jenkins Build mit git Hashwert Tools - Maven, Gradle, Ant & mehr 2
OnDemand Jenkins Pipeline Build > Send Info Jira Tools - Maven, Gradle, Ant & mehr 3
H Maven Verbindung Java Projekt und Jenkins Build job Tools - Maven, Gradle, Ant & mehr 21
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
G Maven Build Prozess lädt Modul aus Nexus statt es zu bauen Tools - Maven, Gradle, Ant & mehr 3
reibi Maven Build unter anderen Namen Tools - Maven, Gradle, Ant & mehr 3
T build job läuft nicht mit findBugs...WARUM? Tools - Maven, Gradle, Ant & mehr 1
T test schlägt im build fehl, lokal nicht, warum? Tools - Maven, Gradle, Ant & mehr 2
D Maven Multi Module Build Tools - Maven, Gradle, Ant & mehr 8
reibi Maven Build ohne netz Tools - Maven, Gradle, Ant & mehr 2
S Maven project build error (String index out of range: 1) Tools - Maven, Gradle, Ant & mehr 2
B Ant Build File, wie ist der Java3D Native Code einzubinden? Tools - Maven, Gradle, Ant & mehr 6
H RCP Build mit Buckminster (headless) - unresolved node Tools - Maven, Gradle, Ant & mehr 7
M Maven Maven Build Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 4
T Maven Build-Fehler, NoClassDefFoundError Exception Tools - Maven, Gradle, Ant & mehr 5
ruutaiokwu eclipse web project - warum in den "build"-ordner kompilieren ??? Tools - Maven, Gradle, Ant & mehr 10
P Maven Download-Probleme beim Build Tools - Maven, Gradle, Ant & mehr 5
B Maven build-helper-maven-plugin mit Eclipse Tools - Maven, Gradle, Ant & mehr 3
L Ant RCP Build? Tools - Maven, Gradle, Ant & mehr 35
T Buckminster Build JRE mitliefern Tools - Maven, Gradle, Ant & mehr 2
R [Maven2] immer Build failed für Projekt Tools - Maven, Gradle, Ant & mehr 10
T Buckminster-Hudson RCP-Build "CSpec source required" Tools - Maven, Gradle, Ant & mehr 9
P Ant build.xml, danach wird ein srcpackage vergessen Tools - Maven, Gradle, Ant & mehr 4
ModellbahnerTT Unterschied build und deploy Tools - Maven, Gradle, Ant & mehr 3
X ANT - Build Reihenfolge? Tools - Maven, Gradle, Ant & mehr 3
T Jar erstellen mit Build Version? Tools - Maven, Gradle, Ant & mehr 2
F build time eines applet Tools - Maven, Gradle, Ant & mehr 13

Ähnliche Java Themen

Neue Themen


Oben