Re: Updating Turbine archetype
Jeffery Painter <[email protected]> Tue, 23 Apr 2024 09:46:09 -0400
| Newsgroups | gmane.comp.jakarta.turbine.devel |
|---|---|
| Message-ID | <[email protected]> |
Quick update:
This configuration seems to work fine in eclipse without any explicit
path defined:
...
<executable>${java.home}/bin/javac</executable>
I will add a property to define the surefire plugin, and use the above
variable for now unless you can think of a better approach.
- Jeff
On 4/23/24 09:28, Jeffery Painter wrote:
> Hi Turbine devs,
>
> I have a couple down cycles and I have been looking at using the
> latest Turbine 6.0 release. I was working to update the archetype to
> generate a new project and I have run into a couple issues maybe you
> can give some insight. I still use Eclipse as my IDE, so these may be
> specific issues I am seeing there.
>
> Note, if I run mvn install in a new project from the CLI everything
> seems OK, but getting Eclipse -> Maven install to work was throwing
> some errors.
>
> Setup:
>
> Environment: Ubuntu 22.0, Eclipse 2024-03, maven 3.9.6, JDK 17.0.10
> (LTS) from Oracle
>
> mvn --version
>
> Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
> Maven home: /usr/java/maven
> Java version: 17.0.10, vendor: Oracle Corporation, runtime:
> /usr/java/jdk-17.0.10
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "6.5.0-27-generic", arch: "amd64", family:
> "unix"
>
> Minor changes to the archetype in progress:
>
> +++ b/src/main/resources/archetype-resources/pom.xml
>
> <driverClassName>${turbine_database_driver}</driverClassName>
> - <fulcrum.json>2.0.2-SNAPSHOT</fulcrum.json>
> - <fulcrum.intake>3.0.1-SNAPSHOT</fulcrum.intake>
> - <fulcrum.security>2.1.1-SNAPSHOT</fulcrum.security>
> - <fulcrum.yaafi>2.0.1-SNAPSHOT</fulcrum.yaafi>
> + <fulcrum.intake>3.0.0</fulcrum.intake>
> + <fulcrum.parser>3.0.0</fulcrum.parser>
> + <fulcrum.security>3.0.0</fulcrum.security>
> + <fulcrum.yaafi>2.0.0</fulcrum.yaafi>
> + <fulcrum.json>2.0.1</fulcrum.json>
> <fulcrum.cache>2.0.0</fulcrum.cache>
> <fulcrum.testcontainer>2.0.0</fulcrum.testcontainer>
> - <torque.version>5.2-SNAPSHOT</torque.version>
> - <turbine.core>5.2-SNAPSHOT</turbine.core>
> + <torque.version>5.1</torque.version>
> + <turbine.core>6.0</turbine.core>
> <skipTests>true</skipTests>
> <docker>false</docker>
> <turbine_database_url>${turbine_database_url}</turbine_database_url>
>
> painter@merlin:~/apache/t/turbine-archetypes$ git diff
> src/main/resources/META-INF/maven/archetype-metadata.xml
> diff --git a/src/main/resources/META-INF/maven/archetype-metadata.xml
> b/src/main/resources/META-INF/maven/archetype-metadata.xml
> index 0158c60..9809418 100644
> --- a/src/main/resources/META-INF/maven/archetype-metadata.xml
> +++ b/src/main/resources/META-INF/maven/archetype-metadata.xml
> @@ -21,7 +21,7 @@
> xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0
> http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
> - name="turbine-5.1-webapp">
> + name="turbine-6.0-webapp">
>
> <requiredProperties>
> <requiredProperty key="turbine_app_name">
>
>
> I can install the archetype locally, build a sample app from CLI and
> no issues. I try to import the new app into Eclipse, run maven install
> and get 2 errors.
>
> The first is it complains is on the maven compiler plugin:
>
> [[1;34mINFO[m]
> [1m------------------------------------------------------------------------[m
>
> [[1;31mERROR[m] Failed to execute goal
> [32morg.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile[m[1m(default-compile)[mon
> project [36mfirstapp[m: [1;31mFatal error compiling[m: Error while
> executing the external compiler. Error while executing process. Cannot
> run program "${JAVA_HOME}/bin/javac" (in directory
> "/home/painter/workspace/firstapp"): error=2, No such file or
> directory -> [1m[Help 1][m
>
> [[1;31mERROR[m]
>
> I can overcome this error if I explicitly point to the JDK install by
> making the following change to the pom.xml
>
> <plugin>
>
> <artifactId>maven-compiler-plugin</artifactId>
>
> <configuration>
>
> <source>${maven.compile.source}</source>
>
> <target>${maven.compile.target}</target>
>
> <encoding>${project.build.sourceEncoding}</encoding>
>
> <fork>true</fork>
>
> <executable>/usr/java/jdk/bin/javac</executable>
>
> </configuration>
>
> </plugin>
>
> The second error I get is then related to the surefire plugin:
>
> [[1;31mERROR[m] Failed to execute goal
> [32morg.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test[m[1m(default-test)[mon
> project [36mfirstapp[m: [1;31mGiven path to java executor does not
> exist "/home/painter/workspace/firstapp/${JAVA_HOME}/bin/java".[m->
> [1m[Help 1][m
>
> I can overcome this error if I explicitly update the pom.xml to use
> version 3.2.5
>
>
> <plugin>
>
> <groupId>org.apache.maven.plugins</groupId>
>
> <artifactId>maven-surefire-plugin</artifactId>
>
> <version>3.2.5</version>
>
> <configuration>
>
> <skipTests>${skipTests}</skipTests>
>
> <reuseForks>false</reuseForks>
>
> <forkCount>1</forkCount>
>
> </configuration>
>
> </plugin>
>
> Then everything will build fine. Also, I see if I have Tomcat 9.0.x
> configured as my server it will launch from Eclipse OK, but it fails
> with Tomcat 10 or 11. Is this expected?
>
> Any ideas on why it works from CLI mvn and not the Eclipse mvn
> environment? I think specifiying the surefire version is an easy
> change to make, but I am less certain on setting the default JDK in
> the pom file (maybe we could pick this up in the archetype somehow?)
>
> Happy to hear your thoughts!
>
> -
>
> Jeff
>