Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [m2e-users] Still run into m2e not setting newly imported projects as java projects, with minimal maven info

That’s really just the pom.xml file itself, right?

 

From: m2e-users-bounces@xxxxxxxxxxx <m2e-users-bounces@xxxxxxxxxxx> On Behalf Of Fred Bricon
Sent: Wednesday, July 10, 2019 2:58 PM
To: Maven Integration for Eclipse users mailing list <m2e-users@xxxxxxxxxxx>
Subject: Re: [m2e-users] Still run into m2e not setting newly imported projects as java projects, with minimal maven info

 

Can you attach the projects (before import), without the source code, and after anonymizing the poms?

 

On Wed, Jul 10, 2019 at 10:30 PM KARR, DAVID <dk068x@xxxxxxx> wrote:

I work on a team with a bunch of git repos that are Java, Maven, and Spring Boot projects.  We all configure Eclipse somewhat similarly, although I'm sure many of the other developers on the team have variations that I don't expect.  We install the Spring IDE and Groovy plugins, and we (not all of us) are on 2019-06.

There is one project that occasionally presents problems, perhaps because it has one additional element that other projects don't have.  It uses the "jsonschema2pojo-maven-plugin" and "build-helper-maven-plugin" to generate class files for json marshalling.

Typically, when I import projects, I right-click on the git repository entry and select "Import Projects...".  This works fine for almost everything I work on, but it occasionally has trouble with this project.  I had this working in my workspace, but another developer reported problems with this, and I couldn't get it to work on his, so I removed my imported project (which was currently working fine), along with the .project, .classpath, and .settings, and tried importing it again, and it's not working properly, similar to what he is seeing.

I've now tried importing the project both with "Import Projects..." and "Import Existing Maven Projects", and the results are basically the same.  The result is that it doesn't think it's a Java project, and it doesn't recognize the existing src/{main,test}/java folders, not to mention the target/java-gen folder where the generated classes are stored.  It does acknowledge it's a Maven project, but nothing works because of those other problems.

Fortunately, I have a workaround, but it's not very good.  I simply ask someone else who has this project opened, who does not have this problem, to send me their .project and .classpath files, and I copy them in, and then reimport the project.  It is now fine.

If it will help, right now I could provide the .project and .classpath file that we need for it to work.  I could iterate through this scenario again (first saving those two files in a safe place) and produce the original resulting dot files, if you think that would be useful.
_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/m2e-users


 

--

"Have you tried turning it off and on again" - The IT Crowd

And if that fails, then http://goo.gl/tnBgH5

<?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/xsd/maven-4.0.0.xsd";>
	<modelVersion>4.0.0</modelVersion>

	<artifactId>CartMs</artifactId>
	<version>1.1.920-SNAPSHOT</version>

	<parent>
		<groupId>com.example</groupId>
		<artifactId>sdk-java-parent</artifactId>
		<version>2.2.0-SNAPSHOT</version>
	</parent>

	<properties>
        <docker.registry>dockercentral.it.example.com:5100</docker.registry>
        <service.account>ajsc-svc-account</service.account>
        <namespace>com.example</namespace>
        <kube.namespace>com.example</kube.namespace>
        <serviceArtifactName>unifiedschedulingms</serviceArtifactName>
        <swagger.directory>${basedir}/target/classes/META-INF/resources/swagger</swagger.directory>
        
        <!-- Sonar Properties -->
        <sonar.language>java</sonar.language>
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
        <sonar.surefire.reportsPath>${basedir}/target/surefire-reports</sonar.surefire.reportsPath>
        <sonar.failsafe.reportsPath>${basedir}/target/failsafe-reports</sonar.failsafe.reportsPath>
        <sonar.jacoco.reportPath>${basedir}/target/jacoco-ut.exec</sonar.jacoco.reportPath>
        <sonar.jacoco.itReportPath>${basedir}/target/jacoco-it.exec</sonar.jacoco.itReportPath>
        <sonar.cpd.exclusions>**/com.example/order/model/**/*</sonar.cpd.exclusions>
        <!-- 
        <sonar.coverage.exclusions>
                **/**/Application.*,
                **/**/config/*.*,
                **/**/exception/*.*,
                **/**/message/*.*,
                **/**/model/swagger/*.*
        </sonar.coverage.exclusions>
         -->
         
        <!-- Jacoco Report Path -->
        <jacoco.path>${basedir}/target/jacoco_report</jacoco.path>
        <jacoco.itPath>${basedir}/target/jacoco_itReport</jacoco.itPath>
        
        <maven.resources.plugin.version>3.1.0</maven.resources.plugin.version>
        <maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
        <spring.boot.maven.plugin>2.0.3.RELEASE</spring.boot.maven.plugin>
        <maven.surefire.plugin.version>2.22.0</maven.surefire.plugin.version>
        <maven.failsafe.plugin.version>2.18.1</maven.failsafe.plugin.version>
        <jacoco.maven.plugin.version>0.8.2</jacoco.maven.plugin.version>
        <pact.jvm.provider.maven.plugin.version>3.5.22</pact.jvm.provider.maven.plugin.version>
        <swagger.maven.plugin.version>3.1.7</swagger.maven.plugin.version>
        <docker.maven.plugin.version>1.0.0</docker.maven.plugin.version>
        <maven.jar.plugin.version>3.1.1</maven.jar.plugin.version>
        
        <!-- Maven Properties -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <swagger.directory>${basedir}/target/classes/META-INF/resources/swagger</swagger.directory>
        <icd.file>service.json</icd.file>
        <java.version>1.8</java.version>
        <docker.registry>dockercentral.it.example.com:5100</docker.registry>
        <build.number>local</build.number>
        <kube.namespace>com.example</kube.namespace>
        <service.account>ajsc-svc-account</service.account>
        <namespace>com.example</namespace>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        
        <!--  Project specific -->
        <icd.package>com.example.order.cart.resource;com.example.order.orderbuilder.resource;com.example.order.tax.resource</icd.package>
        <serviceArtifactName>cartms</serviceArtifactName>
	</properties>
	<!-- Used during verify stage in Jenkins -->
	<profiles>
		<profile>
			<id>local</id>
			<properties>
				<build.profile.id>local</build.profile.id>
				<skipITs>true</skipITs>
				<skip.unit.tests>false</skip.unit.tests>
			</properties>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>dev</id>
			<properties>
				<build.profile.id>dev</build.profile.id>
				<skipITs>true</skipITs>
				<skip.unit.tests>true</skip.unit.tests>
			</properties>
		</profile>
		<profile>
			<id>all-tests</id>
			<properties>
				<build.profile.id>all-tests</build.profile.id>

				<!-- All tests are run. -->
				<skipITs>false</skipITs>
				<skip.unit.tests>false</skip.unit.tests>
			</properties>
		</profile>
		<profile>
			<id>integration-test</id>
			<properties>
				<!-- Only integration tests are run. -->
				<build.profile.id>integration-test</build.profile.id>
				<skipITs>false</skipITs>
				<skip.unit.tests>true</skip.unit.tests>
			</properties>
		</profile>
	</profiles>

	<developers>
		<developer>
			<id>${userId}</id>
		</developer>
	</developers>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
    		<groupId>org.springframework.kafka</groupId>
    		<artifactId>spring-kafka</artifactId>
		</dependency>
		<dependency> 
			<groupId>io.opentracing.contrib</groupId> 
			<artifactId>opentracing-kafka-client</artifactId> 
		</dependency>
		<dependency>
			<groupId>io.reactivex.rxjava2</groupId>
			<artifactId>rxjava</artifactId>
		</dependency>
		<dependency>
			<groupId>io.opentracing.contrib</groupId>
			<artifactId>opentracing-rxjava-2</artifactId>
		</dependency>
		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
		</dependency>
		<dependency>
			<groupId>com.datastax.cassandra</groupId>
			<artifactId>cassandra-driver-mapping</artifactId>
		</dependency>
		<dependency>
			<groupId>com.datastax.cassandra</groupId>
			<artifactId>cassandra-driver-core</artifactId>
		</dependency>

		<dependency>
			<groupId>com.cenqua.clover</groupId>
			<artifactId>clover</artifactId>
			<version>1.3.13</version>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.2.2</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-smile</artifactId>
		</dependency>
		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>annotations</artifactId>
			<version>3.0.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path</artifactId>
		</dependency>
		<dependency>
			<groupId>org.codehaus.groovy</groupId>
			<artifactId>groovy-all</artifactId>
		</dependency>
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
		</dependency>
		<dependency>
			<groupId>com.openpojo</groupId>
			<artifactId>openpojo</artifactId>
			<version>0.8.3</version>
		</dependency>
		<!-- Start :Dependency for JQ Jackson -->
		<dependency>
			<groupId>net.thisptr</groupId>
			<artifactId>jackson-jq</artifactId>
			<version>0.0.8</version>
		</dependency>
		<!-- End :Dependency for JQ Jackson -->

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-cache</artifactId>
		</dependency>
		<dependency>
			<groupId>com.example</groupId>
			<artifactId>hazelcast-enterprise-all</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-smile</artifactId>
		</dependency>
		<dependency>
			<groupId>com.example</groupId>
			<artifactId>rest-api-client</artifactId>
		</dependency>
		<dependency>
			<groupId>com.github.java-json-tools</groupId>
			<artifactId>json-schema-validator</artifactId>
			<version>2.2.8</version>
		</dependency>
		<dependency>
			<groupId>com.github.fge</groupId>
			<artifactId>json-patch</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>au.com.dius</groupId>
			<artifactId>pact-jvm-consumer-junit_2.11</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.codehaus.groovy</groupId>
					<artifactId>groovy-all</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
				</exclusion>

			</exclusions>
		</dependency>
		<dependency>
			<groupId>au.com.dius</groupId>
			<artifactId>pact-jvm-provider-junit_2.11</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.codehaus.groovy</groupId>
					<artifactId>groovy-all</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
				</exclusion>

			</exclusions>
		</dependency>
        <dependency>
               <groupId>com.example</groupId>
               <artifactId>api-inbound-logging-interceptor</artifactId>
               <exclusions>
                     <exclusion>
                            <groupId>commons-logging</groupId>
                            <artifactId>commons-logging</artifactId>
                     </exclusion>
               </exclusions>
        </dependency>
		
        <dependency>
            <groupId>com.github.tomakehurst</groupId>
            <artifactId>wiremock</artifactId>
            <version>2.6.0</version>
            <scope>test</scope>
        </dependency>
	</dependencies>

	<build>
		<finalName>CartMs</finalName>
		<pluginManagement>
			<!-- Setting/Adding nonFilteredFileExtensions for the maven resources 
				plugin. This is used behind-the-scenes by the Spotify Docker Maven Plugin. 
				We need to prevent filtering (altering the file contents) on certain files, 
				most notably the keystore/truststore and any other cert file. -->
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<configuration>
						<nonFilteredFileExtensions>
							<nonFilteredFileExtension>jks</nonFilteredFileExtension>
							<nonFilteredFileExtension>zip</nonFilteredFileExtension>
							<nonFilteredFileExtension>jar</nonFilteredFileExtension>
						</nonFilteredFileExtensions>
					</configuration>
				</plugin>
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-compiler-plugin
										</artifactId>
										<versionRange>
											[3.8.0,)
										</versionRange>
										<goals>
											<goal>compile</goal>
											<goal>testCompile</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven.jar.plugin.version}</version>
                <configuration>
                    <excludes>
                        <exclude>**resources/swagger/*</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/java-gen</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jsonschema2pojo</groupId>
                <artifactId>jsonschema2pojo-maven-plugin</artifactId>
                <version>0.4.34</version>
                <configuration>
                    <sourcePaths>
                        <sourcePath>${basedir}/src/main/schema/OTSRequest.json</sourcePath>
                        <sourcePath>${basedir}/src/main/schema/OTSResponse.json</sourcePath>
                    </sourcePaths>
                    <targetPackage>com.example.cart.gen.ots</targetPackage>
                    <annotationStyle>jackson2</annotationStyle>
                    <useCommonsLang3>true</useCommonsLang3>
                    <useDoubleNumbers>true</useDoubleNumbers>
                    <includeAccessors>true</includeAccessors>
                    <includeAdditionalProperties>true</includeAdditionalProperties>
                    <sourceType>jsonschema</sourceType>
                    <generateBuilders>true</generateBuilders>
                    <includeJsr303Annotations>true</includeJsr303Annotations>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${jacoco.maven.plugin.version}</version>
				<configuration>
					<excludes>
						<exclude>**/com.example/**/config/*.*</exclude>
						<exclude>**/com.example/**/exception/*.*</exclude>
						<exclude>**/com.example/**/i18n/*.*</exclude>
						<exclude>**/com.example/**/message/*.*</exclude>
						<exclude>**/com.example/**/model/*.*</exclude>
						<exclude>**/com.example/**/model/swagger/*.*</exclude>
					</excludes>
					<additionalClasspathElements>
						<additionalClasspathElement>opt/ajsc/etc/config</additionalClasspathElement>
					</additionalClasspathElements>
				</configuration>
				<executions>
					<!-- Prepares the property pointing to the JaCoCo runtime agent which 
						is passed as VM argument when Maven the Surefire plugin is executed. -->
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<!-- Sets the path to the file which contains the execution data. -->
							<destFile>${sonar.jacoco.reportPath}</destFile>
							<propertyName>surefireArgLine</propertyName>
						</configuration>
					</execution>
					<!-- Ensures that the code coverage report for unit tests is created 
						after unit tests have been run. -->
					<execution>
						<id>post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<!-- Sets the path to the file which contains the execution data. -->
							<dataFile>${sonar.jacoco.reportPath}</dataFile>
							<!-- Sets the output directory for the code coverage report. -->
							<outputDirectory>${jacoco.path}</outputDirectory>
						</configuration>
					</execution>
					<!-- Prepares the property pointing to the JaCoCo runtime agent which 
						is passed as VM argument when Maven the Failsafe plugin is executed. -->
					<execution>
						<id>pre-integration-test</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<!-- Sets the path to the file which contains the execution data. -->
							<destFile>${sonar.jacoco.itReportPath}</destFile>
							<!-- Sets the name of the property containing the settings for JaCoCo 
								runtime agent. -->
							<propertyName>failsafeArgLine</propertyName>
						</configuration>
					</execution>
					<!-- Ensures that the code coverage report for integration tests after 
						integration tests have been run. -->
					<execution>
						<id>post-integration-test</id>
						<phase>post-integration-test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<!-- Sets the path to the file which contains the execution data. -->
							<dataFile>${sonar.jacoco.itReportPath}/</dataFile>
							<!-- Sets the output directory for the code coverage report. -->
							<outputDirectory>${jacoco.itPath}</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- Used for unit tests -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven.surefire.plugin.version}</version>
				<configuration>
					<redirectTestOutputToFile>true</redirectTestOutputToFile>
					<additionalClasspathElements>
						<additionalClasspathElement>opt/ajsc/etc/config</additionalClasspathElement>
					</additionalClasspathElements>
					<!-- Sets the VM argument line used when unit tests are run. -->
					<argLine>${surefireArgLine}</argLine>

					<!-- Skips unit tests if the value of skip.unit.tests property is true -->
					<skipTests>${skip.unit.tests}</skipTests>
					<!-- Excludes integration tests when unit tests are run. -->
					<excludes>
						<exclude>**/component/*.java</exclude>
						<exclude>**/contract/*.java</exclude>
						<exclude>**/integration/*.java</exclude>
					</excludes>
				</configuration>
			</plugin>
			<!-- Used for integration tests -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>${maven.failsafe.plugin.version}</version>
				<executions>
					<!-- Ensures that both integration-test and verify goals of the Failsafe 
						Maven plugin are executed. -->
					<execution>
						<id>integration-tests</id>
						<goals>
							<goal>integration-test</goal>
							<goal>verify</goal>
						</goals>
						<configuration>
							<additionalClasspathElements>
								<additionalClasspathElement>opt/ajsc/etc/config</additionalClasspathElement>
							</additionalClasspathElements>
							<!-- Sets the VM argument line used when integration tests are run. -->
							<argLine>${failsafeArgLine}</argLine>

							<!-- Skips integration tests if the value of skipITs property is true -->
							<skipTests>${skipITs}</skipTests>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>au.com.dius</groupId>
				<artifactId>pact-jvm-provider-maven_2.11</artifactId>
				<version>${pact.jvm.provider.maven.plugin.version}</version>
				<configuration>
					<!--pactBrokerUrl,user name,password and project version required only 
						for consumer -->
					<pactBrokerUrl>${PACT_BROKER_URL}</pactBrokerUrl>
					<pactBrokerUsername>${PACT_USERNAME}</pactBrokerUsername>
					<pactBrokerPassword>${PACT_PASSWORD}</pactBrokerPassword>
					<projectVersion>0.0.1</projectVersion>
					<!-- service provider required only for producer -->
					<serviceProviders>
						<serviceProvider>
							<name>CartMs</name>
							<protocol>https</protocol>
							<host>${APP_URL}</host>
							<port>${APP_PORT}</port>
							<path>/</path>
							<pactBroker>
								<url>${PACT_BROKER_URL}</url>
								<authentication>
									<username>${PACT_USERNAME}</username>
									<password>${PACT_PASSWORD}</password>
								</authentication>
							</pactBroker>
							<protocol>https</protocol>
							<insecure>true</insecure>
							<!-- If you want to test specific PACT and specific port uncomment 
								the consumers section and comment the pact broker in the service provider -->
							<!-- <consumers> <consumer> <name>ajscpactconsumer</name> <pactUrl>${brokerUrl}/pacts/provider/ajscpactdemo/consumer/ajscpactdemo/latest</pactUrl> 
								<pactUrl>${brokerUrl}/pacts/provider/ajscpactdemo/consumer/ajscpactconsumer2/version/0.0.1</pactUrl> 
								</consumer> </consumers> -->
						</serviceProvider>
					</serviceProviders>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.github.kongchen</groupId>
				<artifactId>swagger-maven-plugin</artifactId>
				<version>${swagger.maven.plugin.version}</version>
				<configuration>
					<apiSources>
						<apiSource>
							<locations>${icd.package}</locations>
							<basePath>/msapi/cart</basePath>
							<info>
								<title>${project.artifactId} Service</title>
								<version>${project.version}</version>
							</info>
							<swaggerDirectory>${swagger.directory}</swaggerDirectory>
						</apiSource>
					</apiSources>
				</configuration>
				<executions>
					<execution>
						<!-- <phase>compile</phase> -->
						<phase>package</phase>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>exec-maven-plugin</artifactId>
				<groupId>org.codehaus.mojo</groupId>
			</plugin>
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>${docker.maven.plugin.version}</version>
				<configuration>
					<imageName>${docker.registry}/com.example/${serviceArtifactName}</imageName>
					<dockerDirectory>src/main/docker</dockerDirectory>
					<serverId>docker-hub</serverId>
					<registryUrl>https://${docker.registry}</registryUrl>
					<imageTags>
						<imageTag>${project.version}</imageTag>
						<imageTag>latest</imageTag>
					</imageTags>
					<forceTags>true</forceTags>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>opt/ajsc/etc/config/*</include>
							<includes>
								<include>**/*</include>
							</includes>
						</resource>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>prometheus-javaagent.jar</include>
						</resource>
						<!-- csi-logging-resources-goes here -->
						<!-- csi-logging-resources-addon -->
					</resources>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>${spring.boot.maven.plugin}</version>
                <configuration>
                    <layout>ZIP</layout>
                </configuration>
				<executions>
					<execution>
                        <configuration>
                            <classifier>fat</classifier>
                        </configuration>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler.plugin.version}</version>
				<configuration>
					<compilerId>groovy-eclipse-compiler</compilerId>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.codehaus.groovy</groupId>
						<artifactId>groovy-eclipse-compiler</artifactId>
						<version>RELEASE</version>
					</dependency>
					<dependency>
						<groupId>org.codehaus.groovy</groupId>
						<artifactId>groovy-eclipse-batch</artifactId>
						<version>RELEASE</version>
					</dependency>
				</dependencies>
				<executions>
					<execution>
						<phase>compile</phase>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<!-- mention the logback.xml location through system property or environment 
			variable to edit logback.xml at run time -->
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*</include>
				</includes>
			</resource>
			<resource>
				<directory>opt/ajsc/etc/config</directory>
				<targetPath>../opt/ajsc/etc/config</targetPath>
				<filtering>true</filtering>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
					<include>**/*.yaml</include>
					<include>**/*.cfg</include>
					<include>**/*cadi_keyfile*</include>
					<include>**/*.jks</include>
				</includes>
			</resource>
			<!-- csi-logging-target-resources-goes here -->
			<!-- csi-logging-target-resources-addon -->
		</resources>
	</build>
	<repositories>
		<repository>
			<id>public</id>
			<url>http://mavencentral.it.example.com:8081/nexus/content/groups/public/</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>never</updatePolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>public</id>
			<url>http://mavencentral.it.example.com:8081/nexus/content/groups/public/</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>never</updatePolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>
</project>

Back to the top