When I use mvn clean package -DskipTests the console shows:
WEB-INF\web.xml already added, skipping
This does no harm if web.xml does not refer to any parameter in pom. But if you have a path that takes parameters from maven then this would leave the string as it is.
So how does this web.xml copy competition come out? and how to solve it?
console:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building wx-common 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) # wx-common ---
[INFO] Deleting D:\FROM WORKSPACE\workspace\wxflow\wx-common\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:copy-resources (copy-resources) # wx-common ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 8 resources
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # wx-common ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 14 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) # wx-common ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 176 source files to D:\FROM WORKSPACE\workspace\wxflow\wx-common\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # wx-common ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\FROM WORKSPACE\workspace\wxflow\wx-common\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) # wx-common ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 20 source files to D:\FROM WORKSPACE\workspace\wxflow\wx-common\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) # wx-common ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) # wx-common ---
[INFO] Packaging webapp
[INFO] Assembling webapp [wx-common] in [D:\FROM WORKSPACE\workspace\wxflow\wx-common\target\wx-common-0.0.1-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [D:\FROM WORKSPACE\workspace\wxflow\wx-common\src\main\webapp]
[INFO] Webapp assembled in [267 msecs]
[INFO] Building war: D:\FROM WORKSPACE\workspace\wxflow\wx-common\target\wx-common-0.0.1-SNAPSHOT.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
pom profile and build:
<profiles>
<profile>
<id>dev</id>
<properties>
<deploy.type>dev</deploy.type>
<rp.build.warname>wx-common</rp.build.warname>
<property.path>/wx-common/prod</property.path>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/${deploy.type}</directory>
<filtering>true</filtering>
<excludes>
<exclude>sms.properties</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/dev/*</exclude>
</excludes>
<includes>
<include>**/mappers/*</include>
<include>*</include>
</includes>
</resource>
</resources>
</build>
Related
I'm trying to obtain the Java model for the FHIR R4 specification. To accomplish this task, I downloaded the JSON Schema and I try to use jsonschema2pojo maven plugin to generate the source code.
I create a simple Maven project and I put the JSON Schema under src/main/resources/schema. So, I defined the following pom:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>fhir-generator</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jsonschema2pojo</groupId>
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
<version>1.0.1</version>
<configuration>
<sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
<targetPackage>com.example.fhir</targetPackage>
<useCommonsLang3>true</useCommonsLang3>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
When I run the goal package I obtain the folliwing output:
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for come.example:fhir-generator:jar:0.0.1-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. # line 24, column 12
[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 fhir-generator 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- jsonschema2pojo-maven-plugin:1.0.1:generate (default) # fhir-generator ---
[WARNING] useCommonsLang3 is deprecated. Please remove it from your config.
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # fhir-generator ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) # fhir-generator ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # fhir-generator ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) # fhir-generator ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) # fhir-generator ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) # fhir-generator ---
[INFO] Building jar: Z:\work\backend\fhir-generator\target\fhir-generator-0.0.1-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.921 s
[INFO] Finished at: 2019-07-30T11:21:25+02:00
[INFO] Final Memory: 12M/208M
[INFO] ------------------------------------------------------------------------
The problem is that no classes were generated in target/generated-sources folder. Any ideas about it? Tnx in advance
By default jsonschema2pojo plugin generates the files to target/java-gen/ folder, not the one you have specified.
I am trying to use maven-assembly-plugin to build a lite and fat web application, the application will have different content later. I thought that I actually can use two profiles mvn -Pliteweb,fatweb package so it will create two build assembly for each profile. But when I run it, it actually only create one assembly that is in the bottom position in the pom ( the liteweb )
I already tried when I build it one by one its okay. I also check with mvn help:active-profiles -P fatweb,liteweb and it correctly show 2 active profile.
Below is my test pom ( its not including the difference in here, I just want it to create 2 War files and other assembly files separately ). I am still new at Maven so I might misunderstood this. Is creating multiple assembly from multiple profiles is possible to do?
<?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.test.web</groupId>
<artifactId>TEST_WEB</artifactId>
<packaging>war</packaging>
<name>WEB Application</name>
<version>0.0.1</version>
<properties>
<litewebPath>src/main/lite</litewebPath>
<fatwebPath>src/main</fatwebPath>
</properties>
<profiles>
<profile>
<id>fatweb</id>
<build>
<resources>
<resource>
<directory>${fatwebPath}/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<finalName>WEB-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptors>
<descriptor>fatassembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>exec1</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>liteweb</id>
<build>
<resources>
<resource>
<directory>${litewebPath}/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<finalName>LITEWEB-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptors>
<descriptor>liteassembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>exec2</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
fatassembly.xml for now I didnt put anything just to make sure everything work.
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>lib</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
</dependencySet>
</dependencySets>
</assembly>
liteassembly.xml same I didnt put anything to make sure everything work, but I already test with different thing inside still doesnt work.
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>lib-lite</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
</dependencySet>
</dependencySets>
</assembly>
When EXECUTING mvn help:active-profiles -Pfatweb,liteweb
Active Profiles for Project 'com.test.web:TEST_WEB:war:0.0.1':
The following profiles are active:
- fatweb (source: com.test.web:TEST_WEB:0.0.1)
- liteweb (source: com.test.web:TEST_WEB:0.0.1)
And below is what happen when I execute mvn -Pfatweb,liteweb clean package seems like it building the same zip twice.. From same xml assembly, but actually from different execution ( exec1 and exec2 )
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building WEB Application 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) # TEST_WEB ---
[INFO] Deleting D:\PROJECT\POMTEST\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # TEST_WEB ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) # TEST_WEB ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # TEST_WEB ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\PROJECT\POMTEST\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) # TEST_WEB ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) # TEST_WEB ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) # TEST_WEB ---
[INFO] Packaging webapp
[INFO] Assembling webapp [TEST_WEB] in [D:\PROJECT\POMTEST\target\LITEWEB-0.0.1]
[INFO] Processing war project
[INFO] Copying webapp resources [D:\PROJECT\POMTEST\src\main\webapp]
[INFO] Webapp assembled in [27 msecs]
[INFO] Building war: D:\PROJECT\POMTEST\target\LITEWEB-0.0.1.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] --- maven-assembly-plugin:2.6:single (exec1) # TEST_WEB ---
[INFO] Reading assembly descriptor: liteassembly.xml
[INFO] Building zip: D:\PROJECT\POMTEST\target\LITEWEB-0.0.1-lib-lite.zip
[INFO]
[INFO] --- maven-assembly-plugin:2.6:single (exec2) # TEST_WEB ---
[INFO] Reading assembly descriptor: liteassembly.xml
[INFO] Building zip: D:\PROJECT\POMTEST\target\LITEWEB-0.0.1-lib-lite.zip
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.961 s
[INFO] Finished at: 2016-06-14T15:23:05+08:00
[INFO] Final Memory: 12M/229M
[INFO] ------------------------------------------------------------------------
So the profile actually active, but after that the one that build in target folder is only the LITEWEB. If anyone know, please help me to understand why it not create both and why mvn like build the zip twice. I know the workaround is just shellscript code to build twice (if I build one profile each time it work correctly), but I want to use only mvn specific build.
Below is what happen if I do mvn -Pfatweb,liteweb clean install the lib were created twice, but it only build the WAR file once. From the log I actually realized the one that build the WAR is the war-plugin, but how do I make it execute for both profile..?
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building WEB Application 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) # TEST_WEB ---
[INFO] Deleting D:\PROJECT\POMTEST\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # TEST_WEB ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) # TEST_WEB ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # TEST_WEB ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\PROJECT\POMTEST\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) # TEST_WEB ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) # TEST_WEB ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) # TEST_WEB ---
[INFO] Packaging webapp
[INFO] Assembling webapp [TEST_WEB] in [D:\PROJECT\POMTEST\target\LITEWEB-0.0.1]
[INFO] Processing war project
[INFO] Copying webapp resources [D:\PROJECT\POMTEST\src\main\webapp]
[INFO] Webapp assembled in [26 msecs]
[INFO] Building war: D:\PROJECT\POMTEST\target\LITEWEB-0.0.1.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] --- maven-assembly-plugin:2.6:single (exec1) # TEST_WEB ---
[INFO] Reading assembly descriptor: fatassembly.xml
[INFO] Building zip: D:\PROJECT\POMTEST\target\LITEWEB-0.0.1-lib.zip
[INFO]
[INFO] --- maven-assembly-plugin:2.6:single (exec2) # TEST_WEB ---
[INFO] Reading assembly descriptor: liteassembly.xml
[INFO] Building zip: D:\PROJECT\POMTEST\target\LITEWEB-0.0.1-lib-lite.zip
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) # TEST_WEB ---
[INFO] Installing D:\PROJECT\POMTEST\target\LITEWEB-0.0.1.war to C:\Users\rm\.m2\repository\com\test\web\TEST_WEB\0.0.1\TEST_WEB-0.0.1.war
[INFO] Installing D:\PROJECT\POMTEST\pom.xml to C:\Users\rm\.m2\repository\com\test\web\TEST_WEB\0.0.1\TEST_WEB-0.0.1.pom
[INFO] Installing D:\PROJECT\POMTEST\target\LITEWEB-0.0.1-lib.zip to C:\Users\rm\.m2\repository\com\test\web\TEST_WEB\0.0.1\TEST_WEB-0.0.1-lib.zip
[INFO] Installing D:\PROJECT\POMTEST\target\LITEWEB-0.0.1-lib-lite.zip to C:\Users\rm\.m2\repository\com\test\web\TEST_WEB\0.0.1\TEST_WEB-0.0.1-lib-lite.zip
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.768 s
[INFO] Finished at: 2016-06-16T10:49:10+08:00
[INFO] Final Memory: 12M/174M
[INFO] ------------------------------------------------------------------------
In your POM move your <configuration> section FROM being under <plugin> TO being under <execution>. Do this for both <configuration> sections.
The error is that you configured the plugin 2 times. When both profiles are active, maven merges the 2 configurations, loosing one.
My configuration pom.xml has skipped test as true for maven-surefire-plugin as below. I generally skip these test since they are unstale.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
But now I want to run test once with command line to try to see the test results. I think mvn command line should can be -DvarNewValue to override the var old value configurated in pom.xml as ANT.
So I try "mvn test -DskipTests=false". But the test still been skipped.
D:\GIT_Work\iVIEW8.5\oss\xml\xmlservice\api>mvn test -DskipTests=false
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building xmlservice-api 8.2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) # xmlservice-api ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) # xmlservice-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- native2ascii-maven-plugin:1.0-beta-1:native2ascii (native2ascii) # xmlservice-api ---
[INFO] Includes: [*.properties]
[INFO] Excludes: []
[INFO] Processing D:\GIT_Work\iVIEW8.5\oss\xml\xmlservice\api\target\classes\xmlservicebiz.properties
[INFO] Processing D:\GIT_Work\iVIEW8.5\oss\xml\xmlservice\api\target\classes\xmlservicebiz_zh_CN.properties
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) # xmlservice-api ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) # xmlservice-api ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.7.1:test (default-test) # xmlservice-api ---
[INFO] Tests are skipped.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.939s
[INFO] Finished at: Fri Sep 18 17:47:24 CST 2015
[INFO] Final Memory: 11M/371M
[INFO] ------------------------------------------------------------------------
How is the correct command line to run the test configrated as skipping in pom.xml one time to try?
If you want to override the behavior of the plugin from command line, you have to define a property:
<properties>
<skipTests>true</skipTests>
</properties>
and use it in plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>${skipTests}</skipTests>
</configuration>
</plugin>
Source:
http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html
everyone. I'm trying to sign an Android APK with Maven Jarsigner. I followed the instructions on the maven-jarsigner site and told it to use my own keystore and verify. It doesn't look like the jarsigner plugin is even running from my pom.xml, much less verifying. I'm using Codenvy as my environment right now, so Maven console commands are unavailable to me. Any help would be appreciated. Here's my pom.xml:
<?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>org.kealinghornets.mapsapplication</groupId>
<artifactId>mobile-android-java-basic</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>MapsApp</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version>4.1.1.4</platform.version>
<android.plugin.version>3.8.0</android.plugin.version>
<android.sdk.platform.version>20</android.sdk.platform.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${platform.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>support-v4</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.jdroidframework</groupId>
<artifactId>google-play-services</artifactId>
<type>apklib</type>
<version>LATEST</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>java</sourceDirectory>
<finalName>${project.artifactId}</finalName>
<defaultGoal>install</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<keystore>${project.basedir}/mapsapp.keystore</keystore>
<storepass>maps_app</storepass>
<keypass>maps_app</keypass>
<alias>maps_app</alias>
<verbose>true</verbose>
<certs>true</certs>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<sign>
<debug>false</debug>
</sign>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>${android.sdk.platform.version}</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
Here's my Maven output from the build:
[INFO] Injecting source code into builder...
[INFO] Source code injection finished
[INFO] ------------------------------------------------------------------------
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building MapsApp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) # mobile-android-java-basic ---
[INFO]
[INFO] --- android-maven-plugin:3.8.0:generate-sources (default-generate-sources) # mobile-android-java-basic ---
[DEBUG] Expanding: /home/codenvy/.m2/repository/com/jdroidframework/google-play-services/0.6.0/google-play-services-0.6.0.apklib into /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/unpack/apklibs/com.jdroidframework_google-play-services_apklib_0.6.0
[DEBUG] expand complete
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] Manifest merging disabled. Using project manifest only
[INFO] /usr/local/android-sdk-linux/build-tools/21.1.1/aapt [package, -m, -J, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/generated-sources/r, -M, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/AndroidManifest.xml, -S, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/res, -S, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/unpack/apklibs/com.jdroidframework_google-play-services_apklib_0.6.0/res, --auto-add-overlay, -I, /usr/local/android-sdk-linux/platforms/android-20/android.jar]
[INFO] /usr/local/android-sdk-linux/build-tools/21.1.1/aapt [package, --non-constant-id, -m, -J, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/generated-sources/r, --custom-package, com.google.android.gms, -M, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/AndroidManifest.xml, -S, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/res, -S, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/unpack/apklibs/com.jdroidframework_google-play-services_apklib_0.6.0/res, --auto-add-overlay, -I, /usr/local/android-sdk-linux/platforms/android-20/android.jar]
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) # mobile-android-java-basic ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/src/main/resources
[INFO] skip non existing resourceDirectory /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/generated-sources/extracted-dependencies/src/main/resources
[INFO] skip non existing resourceDirectory /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/unpack/apklibs/com.jdroidframework_google-play-services_apklib_0.6.0/src
[INFO]
[INFO] --- android-maven-plugin:3.8.0:consume-aar (default-consume-aar) # mobile-android-java-basic ---
[INFO]
[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) # mobile-android-java-basic ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 5 source files to /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/classes
[INFO]
[INFO] --- android-maven-plugin:3.8.0:proguard (default-proguard) # mobile-android-java-basic ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) # mobile-android-java-basic ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) # mobile-android-java-basic ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) # mobile-android-java-basic ---
[INFO] No tests to run.
[INFO]
[INFO] --- android-maven-plugin:3.8.0:emma (default-emma) # mobile-android-java-basic ---
[INFO]
[INFO] --- android-maven-plugin:3.8.0:dex (default-dex) # mobile-android-java-basic ---
[INFO] /usr/local/jdk1.7.0_71/jre/bin/java [-Xmx1024M, -jar, /usr/local/android-sdk-linux/build-tools/21.1.1/lib/dx.jar, --dex, --output=/media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/classes.dex, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/classes, /home/codenvy/.m2/repository/com/jdroidframework/google-play-services/0.6.0/google-play-services-0.6.0.apklib, /home/codenvy/.m2/repository/android/google-play-services/r21/google-play-services-r21.jar, /home/codenvy/.m2/repository/com/google/android/support-v4/r7/support-v4-r7.jar]
[INFO]
[INFO] --- maven-jar-plugin:2.5:jar (default-jar) # mobile-android-java-basic ---
[INFO] Building jar: /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/mobile-android-java-basic.jar
[INFO]
[INFO] --- android-maven-plugin:3.8.0:apk (default-apk) # mobile-android-java-basic ---
[INFO] Enabling debug build for apk.
[INFO] /usr/local/android-sdk-linux/build-tools/21.1.1/aapt [package, -f, -M, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/AndroidManifest.xml, -S, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/res, -S, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/unpack/apklibs/com.jdroidframework_google-play-services_apklib_0.6.0/res, --auto-add-overlay, -I, /usr/local/android-sdk-linux/platforms/android-20/android.jar, -F, /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/mobile-android-java-basic.ap_, --debug-mode]
[INFO]
[INFO] --- android-maven-plugin:3.8.0:internal-pre-integration-test (default-internal-pre-integration-test) # mobile-android-java-basic ---
[INFO] No InstrumentationRunner found - skipping tests
[INFO]
[INFO] --- android-maven-plugin:3.8.0:internal-integration-test (default-internal-integration-test) # mobile-android-java-basic ---
[INFO] No InstrumentationRunner found - skipping tests
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) # mobile-android-java-basic ---
[INFO] Installing /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/mobile-android-java-basic.apk to /home/codenvy/.m2/repository/org/kealinghornets/mapsapplication/mobile-android-java-basic/1.0-SNAPSHOT/mobile-android-java-basic-1.0-SNAPSHOT.apk
[INFO] Installing /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/pom.xml to /home/codenvy/.m2/repository/org/kealinghornets/mapsapplication/mobile-android-java-basic/1.0-SNAPSHOT/mobile-android-java-basic-1.0-SNAPSHOT.pom
[INFO] Installing /media/ephemeral1/builder/maven/builds/build-4794906119007517519/androidmaps/target/mobile-android-java-basic.jar to /home/codenvy/.m2/repository/org/kealinghornets/mapsapplication/mobile-android-java-basic/1.0-SNAPSHOT/mobile-android-java-basic-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.161s
[INFO] Finished at: Thu Feb 26 19:57:09 UTC 2015
[INFO] Final Memory: 22M/398M
[INFO] ------------------------------------------------------------------------
[INFO] Project androidmaps successfully build
The maven-jarsigner-plugin is declared inside pluginManagement section, so it will not be executed. pluginManagement is only supposed to be used to factor configuration on a plugin for different Maven modules.
Note that the android-maven-plugin is in fact executed because it it also declared inside the plugins section, so it inherits from the declaration made in pluginManagement.
You should move the maven-jarsigner-plugin code into the plugins section.
I am trying to minify some JavaScript and getting it to the right location within the Maven build process. We're using the 1.5 JDK, which limits some of the options available to me to accomplish this task. It appears that I have set up the plugins in the right order, but I believe that during the WAR assembly process, the work I performed during the prepare-package goal is being overwritten. Below is the build portion of the POM and the partial results (abbreviated for clarity). Any assistance offered in welcomed. Thanks!
<build>
<plugins>
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>minify</goal>
</goals>
<configuration>
<verbose>true</verbose>
<jsSourceDir>broker/app</jsSourceDir>
<jsSourceFiles>
<jsSourceFile>controller/Navigation.js</jsSourceFile>
<jsSourceFile>view/MainView.js</jsSourceFile>
</jsSourceFiles>
<jsFinalFile>minified.js</jsFinalFile>
<webappTargetDir>${project.basedir}/src/main/webapp/broker/app/controller</webappTargetDir>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo message="processing files..."/>
<copy
file="${project.basedir}/src/main/webapp/broker/app/controller/js/minified.min.js"
tofile="target/${project.build.finalName}/broker/app/controller/Navigation.js"
overwrite="true"
verbose="true"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<packagingExcludes>broker/app/controller/Navigation.js, broker/app/view/MainView.js</packagingExcludes>
<archive>
<manifestEntries>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Title>${project.name}</Implementation-Title>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
output from process
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building VFIS AS RQ WAR Module 1.0.0.37-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) # rq-vfis-as-war ---
[INFO] Deleting C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target
[INFO]
[INFO] --- minify-maven-plugin:1.5.2:minify (default) # rq-vfis-as-war ---
[INFO] Processing source file [Navigation.js].
[INFO] Processing source file [MainView.js].
[INFO] Creating merged file [minified.js].
[INFO] Creating minified file [minified.min.js].
<snipped output>
[INFO]
[INFO] --- maven-antrun-plugin:1.3:run (default) # rq-vfis-as-war ---
[INFO] Executing tasks
[echo] processing files...
[copy] Copying 1 file to C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\rq-vfis-as-war-1.0.0.37-SNAPSHOT\broker\app\controller
[copy] Copying C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\src\main\webapp\broker\app\controller\js\minified.min.js to C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\rq-vfis-as-war-1.0.0.37-SNAPSHOT\broker\app\controller\Navigation.js
[INFO] Executed tasks
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) # rq-vfis-as-war ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 10 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) # rq-vfis-as-war ---
[INFO] Compiling 35 source files to C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) # rq-vfis-as-war ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) # rq-vfis-as-war ---
[INFO] Compiling 10 source files to C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) # rq-vfis-as-war ---
[INFO] Surefire report directory: C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
<snipped test results>
[INFO]
[INFO] --- maven-war-plugin:2.2:war (default-war) # rq-vfis-as-war ---
[INFO] Packaging webapp
[INFO] Assembling webapp [rq-vfis-as-war] in [C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\rq-vfis-as-war-1.0.0.37-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\src\main\webapp]
[INFO] Webapp assembled in [7816 msecs]
[INFO] Building war: C:\Users\jwillmore\Workspaces\MyEclipse Bling Edition 10\VFIS AS RQ POM Module\rq-vfis-as-war\target\rq-vfis-as-war-1.0.0.37-SNAPSHOT.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.266s
[INFO] Finished at: Wed Apr 30 09:38:29 EDT 2014
[INFO] Final Memory: 41M/111M
[INFO] ------------------------------------------------------------------------
Use <warSourceExcludes>broker/app/controller/Navigation.js,broker/app/view/MainView.js</warSourceExcludes> instead.