with plugin missing generate maven-2 jar classpath

maven-2 - plugin - maven manifest classpath



Maven: agrega una carpeta o un archivo jar en classpath actual (2)

Estoy usando el plugin maven-compile para compilar las clases. Ahora me gustaría agregar un archivo jar en el classpath actual. Ese archivo permanece en otra ubicación (digamos c: /jars/abc.jar. Prefiero dejar este archivo aquí). ¿Cómo puedo hacer eso?

Si utilizo classpath en el argumento:

<configuration> <compilerArguments> <classpath>c:/jars/abc.jar</classpath> </compilerArguments> </configuration>

no funcionará porque anulará la ruta de clase actual (que incluye todas las dependencias)

Por favor, ayúdame.


De los docs y del example no está claro que no se permita la manipulación de classpath.

<configuration> <compilerArgs> <arg>classpath=${basedir}/lib/bad.jar</arg> </compilerArgs> </configuration>

Pero vea los documentos de Java (también https://www.cis.upenn.edu/~bcpierce/courses/629/jdkdocs/tooldocs/solaris/javac.html )

-classpath ruta Especifica la ruta que utiliza javac para buscar las clases necesarias para ejecutar javac o que otras clases que está compilando hacen referencia a ellas. Anula la variable de entorno predeterminada o CLASSPATH si está configurada.

Tal vez es posible obtener classpath actual y extenderlo,
¿Ves en maven cómo se usa el classpath?

<properties> <cpfile>cp.txt</cpfile> </properties> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.9</version> <executions> <execution> <id>build-classpath</id> <phase>generate-sources</phase> <goals> <goal>build-classpath</goal> </goals> <configuration> <outputFile>${cpfile}</outputFile> </configuration> </execution> </executions> </plugin>

Leer archivo ( Leer un archivo en una propiedad de Maven )

<plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.4</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <source> def file = new File(project.properties.cpfile) project.properties.cp = file.getText() </source> </configuration> </execution> </executions> </plugin>

y finalmente

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <compilerArgs> <arg>classpath=${cp}:${basedir}/lib/bad.jar</arg> </compilerArgs> </configuration> </plugin>