Closed andrew-sumner closed 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
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')
}
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
I have getting this error:
Cannot get property '*/exception/' on null object
when have this:
apply plugin: 'openjpa' openjpa { excludes ['*/exception/'] }
@robert-nemet , I think issue #3 handles your problem.
Alright, I'll close this one, and we continue in #3
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.
What went wrong: Execution failed for task ':openjpaEnhance'.