Hi Jeffery,

I am using the same maven version, but Java 20 and occasionally Java 11, but on 
Windows.

Updating surefire plugin seems to be ok, I will check in a new Turbine parent 
POM soon with this version (though archetype could not use it).
The old surefire plugin seems to concatenate the path with the current 
directory, which is of course wrong, but the compiler plugin should work 
though. 
Why it complains ${JAVA_HOME}/bin/javac did not work - there might be an issue 
with this.. What do you get with $JAVA_HOME/bin/javac -version

You might also update the Apache parent version to 31 (from 29) to use the 
newest release here ..

I did work some time ago with Turbine archetype project and have a local 
branch, which uses mariadb driver instead of mysql (hosted db and docker), 
which seems to work in my dev environment.
Not yet checked in .. but first steps are the same as you did 😉

Tomcat 10 + use Servlet Spec 6, which might be too big a leap 😊

Best regards, 

Georg


-----Ursprüngliche Nachricht-----
Von: Jeffery Painter <[email protected]> 
Gesendet: Dienstag, 23. April 2024 15:28
An: [email protected]
Betreff: Updating Turbine archetype

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:

[INFO] 
------------------------------------------------------------------------

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile(default-compile)on
 
project firstapp: Fatal error compiling: 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 
-> [Help 1]

[ERROR]

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:

[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test(default-test)on
 
project firstapp: Given path to java executor does not 
exist "/home/painter/workspace/firstapp/${JAVA_HOME}/bin/java".-> 
[Help 1]

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

Reply via email to