maven - uso - Cómo usar artifactId con un nombre de archivo diferente en dependencias
que es maven netbeans (1)
A Maven no le importan los nombres de archivo, se preocupa por sus coordenadas. Agregue su DLL correctamente a su repositorio remoto y maven hará el resto. Un fragmento de dependencia puede ser:
<dependency>
<groupId>com.company</groupId>
<artifactId>my.artifact</atifactId>
<version>1.0</version>
<type>dll</type>
<classifier>win32</classifier>
</dependency>
Después de haber hecho esto, use cualquiera de las dependency:copy-dependencies
o dependency:copy
para cambiar el nombre del archivo en el momento de la compilación.
Usando Artifactory y Maven, ¿cómo puede uno referirse a una dependencia con el grupo correcto / artifactId / version pero usar un nombre de archivo que difiera del estilo de artifactId-version.end?
El problema viene con un dll que no se puede renombrar, y el obligatorio? Convención de nomenclatura de artefactos.
editar
encontró una forma posible y costosa para este problema específico donde el nombre de archivo no puede incluir el letrero: crear un nuevo diseño de repositorio de Artifactory para el cual se necesita la versión pro, por lo que lamentablemente, ¡esa no es una opción!
en parte solución para pruebas jUnit
usando el plugin maven-dependency-plugin y maven-surefire-plugins uno puede hacer que jUnits funcione. desafortunadamente, no resuelve el problema que el sapjco3.dll
específico no se puede encontrar cuando se despliega en una guerra a un servidor.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>copy</id>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>sapjco</groupId>
<artifactId>sapjco3</artifactId>
<version>3.0.7</version>
<type>dll</type>
<classifier>win32</classifier>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem>
</artifactItems>
<stripVersion>true</stripVersion>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<property>
<name>java.library.path</name>
<value>${project.build.directory}/lib</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>