Failed to start quarkus: java.lang.NoClassDefFoundError: jakarta/enterprise/event/Event - java

Introduction
Currently, I'm trying to use quarkus-github-app with GitHub Codaspace.
My GitHub Repo is here
My GitHub CodeSpace (the dev environment) is here
Problem
When I execute the command .mnvw quarkus:dev I obtain always this error:
#MathieuSoysal ➜ /workspaces/Template-Simplifier (main) $ ./mvnw quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] --------------< io.github.mathieusoysal:template-guider >---------------
[INFO] Building template-guider 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- quarkus-maven-plugin:2.16.2.Final:dev (default-cli) # template-guider ---
[INFO] Invoking org.apache.maven.plugins:maven-resources-plugin:2.6:resources # template-guider
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Invoking io.quarkus.platform:quarkus-maven-plugin:2.16.2.Final:generate-code # template-guider
[INFO] Invoking org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile # template-guider
[INFO] Nothing to compile - all classes are up to date
[INFO] Invoking org.apache.maven.plugins:maven-resources-plugin:2.6:testResources # template-guider
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /workspaces/Template-Simplifier/src/test/resources
[INFO] Invoking io.quarkus.platform:quarkus-maven-plugin:2.16.2.Final:generate-code-tests # template-guider
[INFO] Invoking org.apache.maven.plugins:maven-compiler-plugin:3.10.1:testCompile # template-guider
[INFO] No sources to compile
Listening for transport dt_socket at address: 5005
2023-02-12 16:40:01,596 INFO [io.qua.dep.dev.IsolatedDevModeMain] (main) Attempting to start live reload endpoint to recover from previous Quarkus startup failure
2023-02-12 16:40:02,075 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) Failed to start quarkus: java.lang.NoClassDefFoundError: jakarta/enterprise/event/Event
at io.quarkiverse.githubapp.deployment.GitHubAppProcessor.<clinit>(GitHubAppProcessor.java:123)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at io.quarkus.deployment.util.ServiceUtil.classesNamedIn(ServiceUtil.java:29)
at io.quarkus.deployment.ExtensionLoader.loadStepsFrom(ExtensionLoader.java:215)
at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:107)
at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:331)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:252)
at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:60)
at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:86)
at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:447)
at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:59)
at io.quarkus.bootstrap.app.CuratedApplication.runInCl(CuratedApplication.java:149)
at io.quarkus.bootstrap.app.CuratedApplication.runInAugmentClassLoader(CuratedApplication.java:104)
at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:131)
at io.quarkus.deployment.dev.DevModeMain.main(DevModeMain.java:62)
Caused by: java.lang.ClassNotFoundException: jakarta.enterprise.event.Event
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:516)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:466)
... 16 more
Question
I don't know what is the problem.
It is from quarkus or from my dev environment?
Does someone know how we can fix this?

2.0.0.Alpha1 is targeting Quarkus 3. For Quarkus 2.x, use 1.16.0. They have the exact same features.
final solution
<dependency>
<groupId>io.quarkiverse.githubapp</groupId>
<artifactId>quarkus-github-app</artifactId>
<version>1.16.0</version>
</dependency>

Related

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.2.3:war (default-war) on project hapi-fhir-jpaserver-starter

So I'm getting this error when trying to Clean Install with Maven on a VPS Ubuntu Server.
I've installed the necessary items to make it but still to no avail.
root#iHRS:~/hapi-fhir-jpaserver-starter# mvn clean install
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method
java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[WARNING] The project ca.uhn.hapi.fhir:hapi-fhir-jpaserver-starter:war:5.1.0 uses prerequisites which is only intended for maven-plugin projects but not for non maven-plugin projects. For such purposes you should use the maven-enforcer-plugin. See https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
[INFO]
[INFO] ------------< ca.uhn.hapi.fhir:hapi-fhir-jpaserver-starter >------------
[INFO] Building HAPI FHIR JPA Server - Starter Project 5.1.0
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) # hapi-fhir-jpaserver-starter ---
[INFO] Deleting /root/hapi-fhir-jpaserver-starter/target
[INFO]
[INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (enforce-maven) # hapi-fhir-jpaserver-starter ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (default-prepare-agent) # hapi-fhir-jpaserver-starter ---
> [INFO] argLine set to
> -javaagent:/root/.m2/repository/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar=destfile=/root/hapi-fhir-jpaserver-starter/target/jacoco.exec,excludes=ca/uhn/fhir/model/dstu2/**/*.class:ca/uhn/fhir/jpa/rp/r5/*.class:ca/uhn/fhir/jpa/rp/r4/*.class:ca/uhn/fhir/jpa/rp/dstu3/*.class:ca/uhn/fhir/jpa/rp/dstu2/*.class,dumponexit=true
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # hapi-fhir-jpaserver-starter ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) # hapi-fhir-jpaserver-starter ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 11 source files to /root/hapi-fhir-jpaserver-starter/target/classes
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # hapi-fhir-jpaserver-starter ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /root/hapi-fhir-jpaserver-starter/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) # hapi-fhir-jpaserver-starter ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 7 source files to /root/hapi-fhir-jpaserver-starter/target/test-classes
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M3:test (default-test) # hapi-fhir-jpaserver-starter ---
[INFO]
[INFO] --- maven-war-plugin:3.2.3:war (default-war) # hapi-fhir-jpaserver-starter ---
[INFO] Packaging webapp
[INFO] Assembling webapp [hapi-fhir-jpaserver-starter] in [/root/hapi-fhir-jpaserver-starter/target/hapi]
[INFO] Processing war project
[INFO] Copying webapp resources [/root/hapi-fhir-jpaserver-starter/src/main/webapp]
[INFO] Processing overlay [ id ca.uhn.hapi.fhir:hapi-fhir-testpage-overlay]
[INFO] Webapp assembled in [990 msecs]
[INFO] Building war: /root/hapi-fhir-jpaserver-starter/target/hapi.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.2.3:war (default-war) on project hapi-fhir-jpaserver-starter: Error assembling WAR: Problem creating war: Execution exception: Java heap space -> [Help 1]
So I'm trying to setup iHRS since yesterday please I need help
The problem lies in this log message (see last line!)
Error assembling WAR: Problem creating war: Execution exception: Java heap space
Before triggering the build via mvn clean install, issue the following command in the same shell/terminal:
export MAVEN_OPTS="-Xmx2048m -XX:MaxPermSize=128m"
It will allow Maven to use more RAM - here up to 2048 MB - during the build phase(s). If it does not work, you can increase this value even further to see if the build passes. Keep in mind that your machine/workstation has needs that amount of free, physical RAM. Otherwise, the build will obviously: fail again.

IntelliJ IDEA Maven project StackOverflowError when running debug configuration

When I run mvn compile exec:exec, everything works fine, but when I click the debug button for the same configuration, it gives me the following error:
/home/miika/.jdks/openjdk-14.0.1/bin/java -Dmaven.multiModuleProjectDirectory=/home/miika/IdeaProjects/jetfuel -Dmaven.home=/opt/IntelliJ-IDEA/plugins/maven/lib/maven3 -Dclassworlds.conf=/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/bin/m2.conf -Dmaven.ext.class.path=/opt/IntelliJ-IDEA/plugins/maven/lib/maven-event-listener.jar -Dfile.encoding=UTF-8 -classpath /opt/IntelliJ-IDEA/plugins/maven/lib/maven3/boot/plexus-classworlds.license:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/boot/plexus-classworlds-2.6.0.jar org.codehaus.classworlds.Launcher -Didea.version2020.1.2 compile exec:exec "-Dexec.args=-classpath %classpath:/opt/IntelliJ-IDEA/lib/idea_rt.jar -agentlib:jdwp=transport=dt_socket,address=40913,suspend=y,server=y -javaagent:/opt/IntelliJ-IDEA/plugins/java/lib/rt/debugger-agent.jar ${exec.args}"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< com.discape:jetfuel >-------------------------
[INFO] Building Jetfuel 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # jetfuel ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 7 resources
[INFO] Copying 0 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) # jetfuel ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:exec (default-cli) # jetfuel ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.037 s
[INFO] Finished at: 2020-06-26T17:05:50+03:00
[INFO] ------------------------------------------------------------------------
---------------------------------------------------
constituent[0]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/conf/logging/
constituent[1]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/plexus-utils-3.2.1.jar
constituent[2]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/jsoup-1.12.1.jar
constituent[3]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-transport-wagon-1.4.1.jar
constituent[4]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-provider-3.6.3.jar
constituent[5]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-core-3.6.3.jar
constituent[6]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-compat-3.6.3.jar
constituent[7]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-spi-1.4.1.jar
constituent[8]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-connector-basic-1.4.1.jar
constituent[9]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/commons-lang3-3.8.1.jar
constituent[10]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-model-builder-3.6.3.jar
constituent[11]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/plexus-sec-dispatcher-1.4.jar
constituent[12]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-artifact-3.6.3.jar
constituent[13]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/jsr250-api-1.0.jar
constituent[14]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/wagon-http-3.3.4-shaded.jar
constituent[15]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/commons-cli-1.4.jar
constituent[16]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-builder-support-3.6.3.jar
constituent[17]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/plexus-component-annotations-2.1.0.jar
constituent[18]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/cdi-api-1.0.jar
constituent[19]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-impl-1.4.1.jar
constituent[20]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/wagon-provider-api-3.3.4.jar
constituent[21]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-api-1.4.1.jar
constituent[22]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-resolver-util-1.4.1.jar
constituent[23]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/commons-io-2.5.jar
constituent[24]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-repository-metadata-3.6.3.jar
constituent[25]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/slf4j-api-1.7.29.jar
constituent[26]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/org.eclipse.sisu.inject-0.3.4.jar
constituent[27]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-plugin-api-3.6.3.jar
constituent[28]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-model-3.6.3.jar
constituent[29]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-settings-builder-3.6.3.jar
constituent[30]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/jcl-over-slf4j-1.7.29.jar
constituent[31]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/wagon-file-3.3.4.jar
constituent[32]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-embedder-3.6.3.jar
constituent[33]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-shared-utils-3.2.1.jar
constituent[34]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/javax.inject-1.jar
constituent[35]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/org.eclipse.sisu.plexus-0.3.4.jar
constituent[36]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/plexus-interpolation-1.25.jar
constituent[37]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-slf4j-provider-3.6.3.jar
constituent[38]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/guava-25.1-android.jar
constituent[39]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/plexus-cipher-1.7.jar
constituent[40]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/guice-4.2.1-no_aop.jar
constituent[41]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/maven-settings-3.6.3.jar
constituent[42]: file:/opt/IntelliJ-IDEA/plugins/maven/lib/maven3/lib/jansi-1.17.1.jar
---------------------------------------------------
Exception in thread "main" java.lang.StackOverflowError
at org.apache.maven.plugin.PluginParameterExpressionEvaluator.stripTokens(PluginParameterExpressionEvaluator.java:453)
at org.apache.maven.plugin.PluginParameterExpressionEvaluator.evaluate(PluginParameterExpressionEvaluator.java:160)
at org.apache.maven.plugin.PluginParameterExpressionEvaluator.evaluate(PluginParameterExpressionEvaluator.java:145)
at org.apache.maven.plugin.PluginParameterExpressionEvaluator.evaluate(PluginParameterExpressionEvaluator.java:428)
^ the end repeats for ~1020 lines
here's my pom.xml if anyone needs it:
https://raw.githubusercontent.com/discapes/jetfuel/v1.1/pom.xml
I am trying to debug to find out which thread is preventing my application from closing.
It is known issue, please vote for IDEA-203018.
I think you put the breakpoint on the method.Click to ctrl+shift+f8 list breakpoint,
and remove breakpoints on methods
made maven configuration compile exec:exec "-Dexec.args=-classpath %classpath -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044 com.me.myapp.myclass", and added remote configuration. Launched maven cfg, then remote cfg

Why is Heroku attempting to run newrelic-agent.jar instead of my app?

My app was working, it's working in staging, but after pushing that build to production, Heroku is running this command:
java -Dserver.port=12366 -javaagent:target/newrelic-agent.jar -jar target/newrelic-agent.jar
Why is Heroku trying to run newrelic-agent.jar instead of my app's jar?
My build log looks like this:
-----> Java app detected
-----> Installing JDK 1.8... done
-----> Installing Maven 3.3.9... done
-----> Executing: mvn -DskipTests clean dependency:list install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building projectxserver 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The artifact org.hibernate:hibernate-validator:jar:6.0.9.Final has been relocated to org.hibernate.validator:hibernate-validator:jar:6.0.9.Final
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) # projectxserver ---
[INFO]
[INFO] --- maven-dependency-plugin:3.0.2:list (default-cli) # projectxserver ---
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) # projectxserver ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 11 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) # projectxserver ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 54 source files to /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/target/classes
[INFO] /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/src/main/java/tech/projectx/server/models/support/JacksonUtil.java: /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/src/main/java/tech/projectx/server/models/support/JacksonUtil.java uses unchecked or unsafe operations.
[INFO] /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/src/main/java/tech/projectx/server/models/support/JacksonUtil.java: Recompile with -Xlint:unchecked for details.
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) # projectxserver ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) # projectxserver ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.21.0:test (default-test) # projectxserver ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) # projectxserver ---
[INFO] Building jar: /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/target/projectxserver-1.0.0-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.1.RELEASE:repackage (default) # projectxserver ---
[INFO]
[INFO] --- maven-dependency-plugin:3.0.2:copy (copy-new-relic-jar) # projectxserver ---
[INFO] Configured Artifact: com.newrelic.agent.java:newrelic-agent:?:jar
[INFO] Copying newrelic-agent-4.0.0.jar to /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/target/newrelic-agent.jar
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) # projectxserver ---
[INFO] Installing /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/target/projectxserver-1.0.0-SNAPSHOT.jar to /app/tmp/cache/.m2/repository/tech/projectx/projectxserver/1.0.0-SNAPSHOT/projectxserver-1.0.0-SNAPSHOT.jar
[INFO] Installing /tmp/build_b35db9c210bc86f2ba9870e2cd5d9474/pom.xml to /app/tmp/cache/.m2/repository/tech/projectx/projectxserver/1.0.0-SNAPSHOT/projectxserver-1.0.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.850 s
[INFO] Finished at: 2018-05-08T19:10:25+00:00
[INFO] Final Memory: 61M/410M
[INFO] ------------------------------------------------------------------------
-----> Discovering process types
Procfile declares types -> (none)
Default types for buildpack -> web
-----> Compressing...
Done: 190.1M
-----> Launching...
Released v46
https://projectxserver-production.herokuapp.com/ deployed to Heroku
After re-deploying a few times, it started using the correct jar. Is Heroku picking up a random one?
Heroku tries to automatically figure out the command to run your app when it detects that you are using Spring Boot. However, since the new-relic JAR is in your target/ directory, it thinks that it is your app.
You can fix this in two ways:
Put the new-relic jar in a different directory (Heroku recommends target/dependency or similar).
Create a Procfile and explicitly tell Heroku the command needed to run your app.
If you create a Procfile it will probably look like this:
web: java -Dserver.port=$PORT -javaagent:target/newrelic-agent.jar -jar target/projectxserver-1.0.0-SNAPSHOT.jar
Then run:
git add Procfile
git commit -m "Procfile"
git push heroku master
You can see the logic for the default command in the Java buildpack's bin/release script.

Connecting to DynamoDB Local via Gremlin

I'm trying to get Titan with DynamoDB local backend running. I've followed the steps from github closely but can't get Gremlin to connect:
...[truncated previous commands. Identical to those in github link]
gremlin> g = TitanFactory.open(conf)
Could not instantiate implementation: com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager
Display stack trace? [yN] y
java.lang.IllegalArgumentException: Could not instantiate implementation:
com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager at
com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:55) at
com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:421)
...[truncated by gph]
Launching dynamodb via maven looks as follows:
[8][dynamodb-titan-storage-backend]>mvn test -Pstart-dynamodb-local
[INFO] Scanning for projects...[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Amazon DynamoDB Storage Backend for Titan 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] Could not transfer metadata com.amazonaws:aws-java-sdk-dynamodb/maven-metadata.xml from/to maven-s3-release-repo (s3://dynamodblocal/release): Cannot access s3://dynamodblocal/release with type default using the available connector factories: BasicRepositoryConnectorFactory
[WARNING] Could not transfer metadata com.amazonaws:aws-java-sdk-dynamodb/maven-metadata.xml from/to maven-s3-snapshot-repo (s3://dynamodblocal/snapshot): Cannot access s3://dynamodblocal/snapshot with type default using the available connector factories: BasicRepositoryConnectorFactory
[INFO]
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-maven) # dynamodb-titan054-storage-backend ---
[INFO]
[INFO] --- exec-maven-plugin:1.2:exec (default) # dynamodb-titan054-storage-backend ---
Initializing DynamoDB Local with the following configuration:
Port: 4567
InMemory: true
DbPath: null
SharedDb: false
shouldDelayTransientStatuses: false
CorsParams: *
I'm new to dynamodb and titan so I'm really at a loss to work this out.
I was able to get gremlin running by following the Amazon docs for Installing and Running the DynamoDB Storage Backend for Titan.
You are almost there but mvn test -Pstart-dynamodb-local and mvn test -Pstart-gremlin need to run simultaneously.
So, after you run mvn test -Pstart-dynamodb-local you need to leave that running, open a separate terminal/ssh session, cd to the location of your git clone of dynamodb-titan-storage-backend and then run mvn test -Pstart-gremlin while the first command is still running:
/path/to/dynamodb-titan-storage-backend/# mvn test -Pstart-gremlin
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Amazon DynamoDB Storage Backend for Titan 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] Could not transfer metadata com.amazonaws:aws-java-sdk-dynamodb/maven-metadata.xml from/to maven-s3-release-repo (s3://dynamodblocal/release): Cannot access s3://dynamodblocal/release with type default using the available connector factories: BasicRepositoryConnectorFactory
[WARNING] Could not transfer metadata com.amazonaws:aws-java-sdk-dynamodb/maven-metadata.xml from/to maven-s3-snapshot-repo (s3://dynamodblocal/snapshot): Cannot access s3://dynamodblocal/snapshot with type default using the available connector factories: BasicRepositoryConnectorFactory
[INFO]
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-maven) # dynamodb-titan054-storage-backend ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) # dynamodb-titan054-storage-backend ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) # dynamodb-titan054-storage-backend ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) # dynamodb-titan054-storage-backend ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 6 resources
[INFO]
[INFO] --- maven-dependency-plugin:2.10:copy-dependencies (copy-dependencies) # dynamodb-titan054-storage-backend ---
[INFO] com.google.protobuf:protobuf-java:jar:2.5.0 already exists in destination.
[INFO] com.sun.jersey:jersey-json:jar:1.9 already exists in destination.
[INFO] stax:stax-api:jar:1.0.1 already exists in destination.
... [skipping ahead]
[INFO] org.openrdf.sesame:sesame-queryalgebra-evaluation:jar:2.7.10 already exists in destination.
[INFO] com.sun.jersey:jersey-server:jar:1.9 already exists in destination.
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) # dynamodb-titan054-storage-backend ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) # dynamodb-titan054-storage-backend ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- exec-maven-plugin:1.2:exec (default) # dynamodb-titan054-storage-backend ---
\,,,/
(o o)
-----oOOo-(_)-oOOo-----
0 [main] WARN org.apache.hadoop.util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
gremlin>

Java app deployment to heroku using Maven failed

I am trying to setup the Continuous deployment process for a Tomcat based java app using Github for source code hosting, TravisCI for building the WAR file, running the unit tests and then Heroku to deploy the packaged WAR file.
I tried following the tutorial from
https://devcenter.heroku.com/articles/deploying-war-files-to-heroku-from-travis-ci#creating-a-java-web-application
I am getting an error while running the below step from the above tutorial:
mvn clean heroku:deploy-war
Command outpt:
$ mvn -e clean heroku:deploy-war
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.example:travis-heroku-java-example:war:0.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. # line 31, column 10
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Simple Web Application 0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.3:clean (default-clean) # travis-heroku-java-example ---
[INFO] Deleting file set: /home/ciuser/travis-heroku-java-example/target (included: [**], excluded: [])
[INFO]
[INFO] >>> heroku-maven-plugin:0.3.6:deploy-war (default-cli) # travis-heroku-java-example >>>
[INFO]
[INFO] --- maven-resources-plugin:2.3:resources (default-resources) # travis-heroku-java-example ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/ciuser/travis-heroku-java-example/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) # travis-heroku-java-example ---
[INFO] Compiling 1 source file to /home/ciuser/travis-heroku-java-example/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.3:testResources (default-testResources) # travis-heroku-java-example ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/ciuser/travis-heroku-java-example/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.0.2:testCompile (default-testCompile) # travis-heroku-java-example ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.10:test (default-test) # travis-heroku-java-example ---
[INFO] No tests to run.
[INFO] Surefire report directory: /home/ciuser/travis-heroku-java-example/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-war-plugin:2.1.1:war (default-war) # travis-heroku-java-example ---
[INFO] Packaging webapp
[INFO] Assembling webapp [travis-heroku-java-example] in [/home/ciuser/travis-heroku-java-example/target/travis-heroku-java-example]
[INFO] Processing war project
[INFO] Copying webapp resources [/home/ciuser/travis-heroku-java-example/src/main/webapp]
[INFO] Webapp assembled in [86 msecs]
[INFO] Building war: /home/ciuser/travis-heroku-java-example/target/travis-heroku-java-example.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO]
[INFO] <<< heroku-maven-plugin:0.3.6:deploy-war (default-cli) # travis-heroku-java-example <<<
[INFO]
[INFO] --- heroku-maven-plugin:0.3.6:deploy-war (default-cli) # travis-heroku-java-example ---
[INFO] Configured Artifact: com.github.jsimone:webapp-runner:7.0.57.2:jar
[INFO] Copying webapp-runner-7.0.57.2.jar to /home/ciuser/travis-heroku-java-example/target/dependency/webapp-runner.jar
[INFO] ---> Packaging application...
[INFO] - app: possessed-cemetery-7933
[INFO] - including: target/dependency/webapp-runner.jar
[INFO] - including: target/travis-heroku-java-example.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.636s
[INFO] Finished at: Fri Apr 24 03:33:35 UTC 2015
[INFO] Final Memory: 19M/46M
[INFO] ------------------------------------------------------------------------
[**ERROR] Failed to execute goal com.heroku.sdk:heroku-maven-plugin:0.3.6:deploy-war (default-cli) on project travis-heroku-java-example: Failed to deploy application: Forbidden -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.heroku.sdk:heroku-maven-plugin:0.3.6:deploy-war (default-cli) on project travis-heroku-java-example: Failed to deploy application**
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoFailureException: Failed to deploy application
at com.heroku.sdk.maven.DeployWarMojo.execute(DeployWarMojo.java:24)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: org.apache.http.client.HttpResponseException: Forbidden
at com.heroku.sdk.deploy.RestClient.handleResponse(RestClient.java:87)
at com.heroku.sdk.deploy.RestClient.get(RestClient.java:26)
at com.heroku.sdk.deploy.ConfigVars.getConfigVars(ConfigVars.java:39)
at com.heroku.sdk.deploy.ConfigVars.merge(ConfigVars.java:22)
at com.heroku.sdk.deploy.App.mergeConfigVars(App.java:152)
at com.heroku.sdk.deploy.App.deploy(App.java:81)
at com.heroku.sdk.deploy.App.deploy(App.java:87)
at com.heroku.sdk.deploy.WarApp.deploy(WarApp.java:29)
at com.heroku.sdk.maven.DeployWarMojo.execute(DeployWarMojo.java:20)
... 21 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
$
Error Message in the above output:
[**ERROR] Failed to execute goal com.heroku.sdk:heroku-maven-plugin:0.3.6:deploy-war (default-cli) on project travis-heroku-java-example: Failed to deploy application: Forbidden -> [Help 1]
Here is the Maven System configuration:
$ mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-79-generic", arch: "amd64", family: "unix"
Java Version is:
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
$
Pom file:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>travis-heroku-java-example</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Simple Web Application</name>
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_2.4_spec</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
<id>rubygems-releases</id>
<url>http://rubygems-proxy.torquebox.org/releases</url>
</pluginRepository>
</pluginRepositories>
<build>
<finalName>travis-heroku-java-example</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>
<version>0.3.6</version>
<configuration>
<appName>possessed-cemetery-7933</appName>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>
<version>0.3.6</version>
<configuration>
<appName>boiling-beach-1111</appName>
</configuration>
</plugin>
<plugin>
<groupId>de.saumya.mojo</groupId>
<artifactId>gem-maven-plugin</artifactId>
<version>1.0.5</version>
<configuration>
<execArgLines>
<execArgLine>${project.build.directory}/rubygems/bin/travis</execArgLine>
<execArgLine>encrypt</execArgLine>
<execArgLine>HEROKU_API_KEY=${herokuApiKey}</execArgLine>
</execArgLines>
</configuration>
<dependencies>
<dependency>
<groupId>rubygems</groupId>
<artifactId>travis</artifactId>
<version>1.7.1</version>
<type>gem</type>
</dependency>
<dependency>
<groupId>rubygems</groupId>
<artifactId>pry</artifactId>
<version>0.9.12.6</version>
<type>gem</type>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
I found what the issue was!!!
Heroku deploy-war maven plugin requires Maven 3.2.X version while I was using 3.0.X version.
Installed Maven 3.2.1 version on my ubuntu machine and the war file was successfully deployed to Heroku.
I got to know this from Github Heroku Maven plugin repository Readme file:
Requirements
Maven 3.2.x
Java 1.7 or higher
Thank you #Steve for your time.
Output:
$ maven -version
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T17:37:52+00:00)
Maven home: /usr/share/maven3
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-79-generic", arch: "amd64", family: "unix"
$
$
$
$ maven -e clean heroku:deploy-war
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.example:travis-heroku-java-example:war:0.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. # line 31, column 11
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Simple Web Application 0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) # travis-heroku-java-example ---
[INFO] Deleting /home/ciuser/travis-heroku-java-example/target
[INFO]
[INFO] >>> heroku-maven-plugin:0.3.6:deploy-war (default-cli) # travis-heroku-java-example >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # travis-heroku-java-example ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/ciuser/travis-heroku-java-example/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) # travis-heroku-java-example ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /home/ciuser/travis-heroku-java-example/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # travis-heroku-java-example ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/ciuser/travis-heroku-java-example/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) # travis-heroku-java-example ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) # travis-heroku-java-example ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) # travis-heroku-java-example ---
[INFO] Packaging webapp
[INFO] Assembling webapp [travis-heroku-java-example] in [/home/ciuser/travis-heroku-java-example/target/travis-heroku-java-example]
[INFO] Processing war project
[INFO] Copying webapp resources [/home/ciuser/travis-heroku-java-example/src/main/webapp]
[INFO] Webapp assembled in [38 msecs]
[INFO] Building war: /home/ciuser/travis-heroku-java-example/target/travis-heroku-java-example.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO]
[INFO] <<< heroku-maven-plugin:0.3.6:deploy-war (default-cli) # travis-heroku-java-example <<<
[INFO]
[INFO] --- heroku-maven-plugin:0.3.6:deploy-war (default-cli) # travis-heroku-java-example ---
[INFO] Configured Artifact: com.github.jsimone:webapp-runner:7.0.57.2:jar
[INFO] Copying webapp-runner-7.0.57.2.jar to /home/ciuser/travis-heroku-java-example/target/dependency/webapp-runner.jar
[INFO] ---> Packaging application...
[INFO] - app: boiling-beach-1111
[INFO] - including: target/dependency/webapp-runner.jar
[INFO] - including: target/travis-heroku-java-example.war
[INFO] - installing: OpenJDK 1.8
[INFO] ---> Creating slug...
[INFO] - file: target/heroku/slug.tgz
[INFO] - size: 56MB
[INFO] ---> Uploading slug...
[INFO] - stack: cedar-14
[INFO] - process types: [web]
[INFO] ---> Releasing...
[INFO] - version: 6
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 32.265 s
[INFO] Finished at: 2015-04-24T20:05:46+00:00
[INFO] Final Memory: 19M/48M
[INFO] ------------------------------------------------------------------------

Categories