schmutterer / gradle-openjpa

gradle-plugin that enhances entity-classes with OpenJPA code
Apache License 2.0
5 stars 2 forks source link

openjpaEnhance task failing during build #2

Closed andrew-sumner closed 9 years ago

andrew-sumner commented 9 years ago

I get the following error when building via gradle. Any ideas why the openjpaEnhance would throw this error?

Removing apply plugin: 'openjpa' fxies the failure but dosen't apply the enahncement.

[sts] ----------------------------------------------------- [sts] Starting Gradle build for the following tasks: [sts] assemble [sts] ----------------------------------------------------- :compileJavawarning: Supported source version 'RELEASE_6' from annotation processor 'org.apache.openjpa.persistence.meta.AnnotationProcessor6' less than -source '1.7' Note: C:\Work_Java\workspace\PaxHoldRelease\src\main\java\nz\govt\customs\PaxAlertClass.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 warning

:openjpaEnhance FAILED

FAILURE: Build failed with an exception.

ChristophGr commented 9 years ago

It seems, your meta-model-build requires servlet-api in the classpath Try to add classpath 'javax.servlet:servlet-api:2.5' to your dependencies

andrew-sumner commented 9 years ago

It made no difference and as I later discovered it wasn't required as I have another dependancy which already includes it.

Here's the relevant portion of the stacktrace incase that helps

Caused by: java.lang.IllegalArgumentException: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener at serp.util.Strings.toClass(Strings.java:164) at serp.util.Strings.toClass(Strings.java:108) at org.apache.openjpa.lib.meta.ClassArgParser.parseTypes(ClassArgParser.java:164) at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4866) at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4830) at org.apache.openjpa.enhance.PCEnhancer$1.run(PCEnhancer.java:4800) at org.apache.openjpa.lib.conf.Configurations.launchRunnable(Configurations.java:764) at org.apache.openjpa.lib.conf.Configurations.runAgainstAllAnchors(Configurations.java:754) at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4795) at at.schmutterer.oss.gradle.openjpa.OpenJpaPlugin$_apply_closure1.doCall(OpenJpaPlugin.groovy:38) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:548) at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:529) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)

build.gradle buildscript { repositories { maven { url "http://artifactory:8081/artifactory/repo1/" } } dependencies { classpath 'at.schmutterer.oss.gradle:gradle-openjpa:0.1.0' } }

apply plugin: 'java' apply plugin: 'war' apply plugin: 'ear' apply plugin: 'openjpa' // https://github.com/schmutterer/gradle-openjpa

// Java compilier compliance level sourceCompatibility = 1.7 targetCompatibility = 1.7

// Download dependancies via Artifactory repositories { mavenLocal() maven { url "http://artifactory:8081/artifactory/repo1/" url "http://artifactory:8081/artifactory/libs-release/" } }

// Specify dependancies dependencies { // Ensure ear plugin gets war file deploy files(war)

// Servlet 3
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'

providedCompile 'javax.websocket:javax.websocket-api:1.1'  

// JAX-RS (Jersy)
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.16'
compile 'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.1'
compile 'org.glassfish:javax.json:1.0.4'

// Open JPA
providedCompile 'org.apache.openjpa:openjpa:2.2.2'
providedCompile 'com.sybase:jconn3:6.05'
providedCompile files('libs/sqljdbc4-3.0.jar')

}

ChristophGr commented 9 years ago

the plugin does not pick up "providedCompile"-dependencies only those in the 'compile'-configuration https://github.com/schmutterer/gradle-openjpa/blob/64fa9f7ea5f0b2704e6be637d5c7af05ca5685d2/src/main/groovy/at/schmutterer/oss/gradle/openjpa/OpenJpaPlugin.groovy#L49

robert-nemet commented 9 years ago

I have getting this error:

when have this:

apply plugin: 'openjpa' openjpa { excludes ['*/exception/'] }

centic9 commented 9 years ago

@robert-nemet , I think issue #3 handles your problem.

ChristophGr commented 9 years ago

Alright, I'll close this one, and we continue in #3