Spring Boot 2.0.0.SNAPSHOT or 2.0.0.RC1 with JPA doesn't start - spring

A simple Spring Boot 2.0.0.RC1 application with JPA started included as dependency doesn't start at all outputting the following log:
:: Spring Boot :: (v2.0.0.RC1)
2018-02-06 15:06:00.926 INFO 1208 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication on 4e4034c0b5d8 with PID 1208 (/home/developer/isolation/src/new_env/demo/target/classes started by developer in /home/developer/isolation/src/new_env/demo)
2018-02-06 15:06:00.930 INFO 1208 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default
2018-02-06 15:06:00.991 INFO 1208 --- [ main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext#37574691: startup date [Tue Feb 06 15:06:00 UTC 2018]; root of context hierarchy
2018-02-06 15:06:02.057 WARN 1208 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: At least one JPA metamodel must be present!
2018-02-06 15:06:02.057 INFO 1208 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
2018-02-06 15:06:02.069 INFO 1208 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-02-06 15:06:02.077 ERROR 1208 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: At least one JPA metamodel must be present!
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1710) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:583) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868) ~[spring-context-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) [spring-boot-2.0.0.RC1.jar:2.0.0.RC1]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388) [spring-boot-2.0.0.RC1.jar:2.0.0.RC1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.0.RC1.jar:2.0.0.RC1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.0.RC1.jar:2.0.0.RC1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) [spring-boot-2.0.0.RC1.jar:2.0.0.RC1]
at com.example.demo.DemoApplication.main(DemoApplication.java:10) [classes/:na]
Caused by: java.lang.IllegalArgumentException: At least one JPA metamodel must be present!
at org.springframework.util.Assert.notEmpty(Assert.java:450) ~[spring-core-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.data.jpa.mapping.JpaMetamodelMappingContext.<init>(JpaMetamodelMappingContext.java:54) ~[spring-data-jpa-2.0.3.RELEASE.jar:2.0.3.RELEASE]
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:88) ~[spring-data-jpa-2.0.3.RELEASE.jar:2.0.3.RELEASE]
at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:43) ~[spring-data-jpa-2.0.3.RELEASE.jar:2.0.3.RELEASE]
at org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet(AbstractFactoryBean.java:141) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) ~[spring-beans-5.0.3.RELEASE.jar:5.0.3.RELEASE]
... 15 common frames omitted
The application has the following pom.xml file obtained from http://start.spring.io:
<?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>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RC1</version>
<relativePath/>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
If I take off the JPA starter dependency it works.
If I downgrade Spring Boot version to latest release it also works.
But I need to use Spring 5.
Any ideas?

It was just a corrupted dependency in my local repository. It's quite a shame this still happens nowadays with maven :(

Related

Spring Cloud DataFlow Server

I'm studying and doing some POC's with Spring Cloud DataFlow and I'm having some problems:
I am trying to start a Local Data Flow Server. In order to achieve this, I just created an Spring Boot Application and annotate this with #EnableDataFlowServer.
When I try to run, i get the following error:
11:54:53.307 [main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath:
[...]
11:54:53.395 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 6.0.13.Final
11:54:53.406 [background-preinit] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Found javax.persistence.Persistence on classpath containing 'getPersistenceUtil'. Assuming JPA 2 environment. Trying to instantiate JPA aware TraversableResolver
11:54:53.408 [background-preinit] DEBUG org.hibernate.validator.internal.engine.resolver.TraversableResolvers - Instantiated JPA aware TraversableResolver of type org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.
11:54:53.413 [background-preinit] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.
11:54:53.414 [background-preinit] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL
11:54:53.414 [background-preinit] DEBUG org.hibernate.validator.internal.xml.config.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
11:54:53.415 [background-preinit] DEBUG org.hibernate.validator.internal.xml.config.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.
11:54:53.590 [background-preinit] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
11:54:53.596 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
11:54:53.597 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.resolver.JPATraversableResolver as ValidatorFactory-scoped traversable resolver.
11:54:53.597 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
11:54:53.597 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
11:54:53.597 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
11:54:53.866 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Object;)V
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:161)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:102)
at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:68)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:338)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:297)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
at com.arrobaautowired.springclouddataflowserver.SpringCloudDataflowServerApplication.main(SpringCloudDataflowServerApplication.java:12)
I was looking for help and I readed that it could be a pom's version problem. Actually my pom.xml is:
<-- [...] -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- DataFlow Server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dataflow-server-local-autoconfig</artifactId>
<version>1.7.0.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Can anyone help me?
Thanks for the update in the comments.
We used to promote the SCDF customization model in the past, but we have decided to move out of it for a variety of reasons, so that is why it is not mentioned in the docs. Hence, we removed it from Spring Initializr, too.
As for the error, it appears you're on Boot 2.x line, but SCDF is still on 1.5.x baseline. You could switch to Boot 1.5.17 and retry.
Also, as an FYI, SCDF's baseline is switching to Boot 2.1 in the coming weeks.

Spring Boot application does not start in CloudFoundry

I have a Spring boot Application, built with maven, jdk1.8.
It's using embedded Tomcat and jar packaging.
I'm using Spring Tool Suite to push the app to CloudFoundry. I get the following messages in console after pushing:
[CONTAINER] org.apache.jasper.servlet.TldScanner INFO At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[CONTAINER] org.apache.catalina.startup.HostConfig INFO Deployment of web application directory /home/vcap/app/.java-buildpack/tomcat/webapps/ROOT has finished in 724 ms
[CONTAINER] org.apache.coyote.http11.Http11NioProtocol INFO Starting ProtocolHandler ["http-nio-8080"]
[CONTAINER] org.apache.tomcat.util.net.NioSelectorPool INFO Using a shared selector for servlet write/read
[CONTAINER] org.apache.catalina.startup.Catalina INFO Server startup in 814 ms
healthcheck passed
Container became healthy
Exit status 0
[Application Running Check] - Application appears to be running - MY-APP
Problem is - no Spring Boot banner, no startup messages from my application - nothing.
If i browse the URL, i just get a 404(which means somehow Tomcat is running!).
I tried
cf files
but realised this is on Diego, so I tried
cf ssh MY-APP
and looked in the logs directory - nothing there at all, not a single file.
and
cf-events
just says that app has started.
The GUI console in CloudFoundry happily reports that its 'Running'
How do i even begin to troubleshoot this?
Manifest.yml
---
applications:
- name: MY-APP
memory: 1024M
host: my-app
domain: xxx.yyy.com
services:
- p-mysql
instances: 1
application.properties
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url = jdbc:mysql://<ip_addr>:3306/<db_name>?user=<user_name>&password=<password>
spring.datasource.username = <username>
spring.datasource.password = <password>
spring.thymeleaf.cache: false
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyAPP</groupId>
<artifactId>my-app</artifactId>
<version>0.2</version>
<name>my-app</name>
<description>Attempt2</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.M1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!--<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency> -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.1.5-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
main class
package com.sa;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
#SpringBootApplication
public class MyAppApplication {
public static void main(String[] args) {
SpringApplication.run(MyAppApplication.class, args);
}
}
CloudFoundry env variables
{
"staging_env_json": {},
"running_env_json": {},
"system_env_json": {
"VCAP_SERVICES": {
"p-mysql": [
{
"name": "p-mysql",
"label": "p-mysql",
"tags": [
"mysql",
"relational"
],
"plan": "pre-existing-plan",
"credentials": {
"hostname": "<ip-addr>",
"port": 3306,
"name": "db-name",
"username": "<username>",
"password": "<password>",
"uri": "mysql://<username>:<pass>#<ip_addr>:3306/<db-name>?reconnect=true",
"jdbcUrl": "jdbc:mysql://<ip_addr>:3306/<db-name>?user=<username>&password=<pass>"
}
}
]
}
},
"application_env_json": {
"VCAP_APPLICATION": {
"limits": {
"mem": 1024,
"disk": 1024,
"fds": 16384
},
"application_id": "<some string>",
"application_version": "<some other string>",
"application_name": "my-app",
"application_uris": [
"my-app.xxx.yyy.com"
],
"version": "2d5fd7b0-a1c2-4039-8eed-fb6e25772dee",
"name": "my-app",
"space_name": "xyz",
"space_id": "<some string>",
"uris": [
"my-app.xxx.yyy.com"
],
"users": null
}
}
}
After ploughing away at this for half a day, i found the problem.For the impatient, it was due to this issue
[spring boot and java buildpack][1]https://github.com/spring-projects/spring-boot/issues/4897
I wasn't getting anything from the STS push, so i reverted to CLI.
First,
mvn clean package
then
cf push -p PATH-to-Jar
There was an entire trail of error messages (finally! something to look at!), ending with
2016-05-14T21:22:46.71+0800 [API/0] OUT App instance exited with guid 83ec77d4-bcc5-4b12-8430-dd0a4d140b22 payload: {"instance"=>"27dc9686-1853-4 465-745e-55e450ee94c4", "index"=>0, "reason"=>"CRASHED",
"exit_description"=>"2 error(s) occurred:\n\n* 2 error(s) occurred:\n\n*
Exited with status 1
\n* cancelled\n* cancelled", "crash_count"=>3, "crash_timestamp"=>1463232166690142658, "version"=>"b37907a9-f4d6-4045-987c-f7bddb5e7a5c"}
The link above explains the issue and how to resolve it (use the latest java-buildpack (specify with -b switch of cf cli), so if anyone sees this Exception when pushing a spring boot app to cloud foundry, you know what could be the potential issue!
ERR Caused by: java.lang.IllegalArgumentException: Cannot instantiate
interface org.springframework.context.ApplicationContextInitializer :org.cloudfoundry.reconfiguration.spring.CloudPropertySourceApplicationContextInitializer

Connecting GemFire using Spring Boot and Spring Data GemFire

I am trying to connect to an existing GemFire Locator using Spring Data GemFire and Spring Boot.
Following is my cache configuration
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:gfe-data="http://www.springframework.org/schema/data/gemfire"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd
http://www.springframework.org/schema/data/gemfire http://www.springframework.org/schema/data/gemfire/spring-data-gemfire.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<gfe-data:datasource subscription-enabled="true">
<gfe-data:locator host="192.168.1.44" port="5555" />
</gfe-data:datasource>
<gfe:cq-listener-container id="cqueryListener">
<gfe:listener ref="cqListener"
query="select * from /allSensors " />
</gfe:cq-listener-container>
<bean id="cqListener" class="cabigemfire.CQListener" />
</beans>
When I try to run this code I am getting the following exception
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.boot.maven.RunMojo$LaunchRunner.run(RunMojo.java:418)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.gemstone.gemfire.cache.client.ServerOperationException: : While performing a remote execute Functionorg.springframework.data.gemfire.support.ListRegionsOnServerFunction
at com.gemstone.gemfire.cache.client.internal.ExecuteFunctionOp$ExecuteFuncti onOpImpl.processResponse(ExecuteFunctionOp.java:623)
at com.gemstone.gemfire.cache.client.internal.AbstractOp.processResponse(AbstractOp.java:218)
at com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse( AbstractOp.java:153)
at com.gemstone.gemfire.cache.client.internal.AbstractOp.attempt(AbstractOp.java:372)
at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:267)
at com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:320)
at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:942)
at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeOnServer(OpExecutorImpl.java:375)
at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeOn(OpExecutorImpl.java:339)
at com.gemstone.gemfire.cache.client.internal.PoolImpl.executeOn(PoolImpl.java:732)
at com.gemstone.gemfire.cache.client.internal.SingleHopOperationCallable.call(SingleHopOperationCallable.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.springframework.data.gemfire.support.ListRegionsOnServerFunction
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:340)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:626)
at com.gemstone.gemfire.internal.InternalDataSerializer$DSObjectInputStream.resolveClass(InternalDataSerializer.java:3563)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at com.gemstone.gemfire.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2966)
at com.gemstone.gemfire.DataSerializer.readObject(DataSerializer.java:3210)
at com.gemstone.gemfire.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:110)
at com.gemstone.gemfire.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:77)
at com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerHelper.deserialize(CacheServerHelper.java:55)
at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getObject(Part.java:233)
at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getObject(Part.java:238)
at com.gemstone.gemfire.internal.cache.tier.sockets.Part.getStringOrObject(Part.java:243)
at com.gemstone.gemfire.internal.cache.tier.sockets.command.ExecuteFunction66.cmdExecute(ExecuteFunction66.java:124)
at com.gemstone.gemfire.internal.cache.tier.sockets.command.ExecuteFunction70.cmdExecute(ExecuteFunction70.java:51)
at com.gemstone.gemfire.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:182)
at com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:789)
at com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:920)
at com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1165)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:577)
... 1 more
My POM is
<?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>
<groupId>in.demi</groupId>
<artifactId>GemFireDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>continousQueryClient</name>
<description>A CQ client for GemFire. </description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>cabigemfire.ContinousQueryClientApplication</start-class>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-gemfire</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>gemfire-repository</id>
<name>Gemfire Repository</name>
<url>http://dist.gemstone.com/maven/release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
The main application is as follows:
#SpringBootApplication
public class ContinousQueryClientApplication {
public static void main(String[] args) {
new ClassPathXmlApplicationContext("client/cache-config.xml");
SpringApplication.run(ContinousQueryClientApplication.class, args);
}
}
What is the cause and how can it be resolved.
So, this problem generally occurs when users start their GemFire Servers using Gfsh (with no Spring in the mix) and then subsequently try to connect to those GemFire Servers using a Spring-configured cache client, specifically with the <gfe:data-source> element, which incorrectly assumes the GemFire Servers were configured and bootstrapped with Spring as well.
I have separated the necessary SDG-provided org.springframework.data.gemfire.support.ListRegionsOnServerFunction class into a separate JAR file that can be added to a non-Spring configured/booted GemFire Server's CLASSPATH on start, or more conveniently with Gfsh's 'deploy' command. More details on the 'deploy' command are available here.
For more details on the issue, see... https://jira.spring.io/browse/SGF-409
Hope this helps!
I would encourage you to create a JIRA issue for this https://jira.spring.io/browse/SGF. Meanwhile, try replacing gfe:datasource with gfe:client-cache and pool with subscriptions enabled. This will avoid calling ListRegionsOnServerFunction. Note that gfe:datasource is provided as a convenience and creates a client connection and a client region for each region discovered on the server via the remote function in question. CQ does not require a client region, so datasource is doing unnecessary work in this case, unless your application specifically requires a client region.

IntelliJ, Maven, Flexmojos - Failed to generate Flex compiler configuration file

I'm running a multi-project build in IntelliJ setup with Flexmojos.
All of the flex modules have a common parent pom file which is downloaded from Artifactory. This dependency seems to be resolved properly but when I hit "Reimport All Maven Projects", or do changes to any child pom file, I get an error
Flexmojos Project Import
**Failed to generate Flex compiler configuration file.**
The pipe has been ended
Flexmojos Project Import
**Failed to generate Flex compiler configuration file.**
exit code: 1
Globals (using maven 'defines' tag) defined in the parent pom are not visible in any child project and if I go into "Project Structure" there is
"Build configurations '[child artifactId]': additional compiler configuration file not found: [absolute path]"
, which is a symptom of the missing configuration files.
I think it is a settings (IntelliJ? Maven? Java?) issue because my colleague has the same code from SVN and does not have the same issue.
Any clues as to where to start looking?
EDIT:
Excerpt from idea.log
2013-08-13 16:35:34,213 [1978178] INFO - #org.jetbrains.idea.maven - Generating flex configs pathToBundledJar: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.4\plugins\flex\lib\flexmojos-flex-configs-generator-server.jar
2013-08-13 16:35:34,214 [1978179] INFO - #org.jetbrains.idea.maven - Generate Flex Configs Task:"c:\program files\java\jdk1.7.0_25\jre\bin\java" -Dfile.encoding=windows-1252 -classpath "C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.4\plugins\flex\lib\flexmojos-flex-configs-generator-server.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\aether-api-0.9.0.M2.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\aether-connector-wagon-0.9.0.M2.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\aether-impl-0.9.0.M2.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\aether-spi-0.9.0.M2.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\aether-util-0.9.0.M2.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\aopalliance-1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\asm-3.3.1.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\cdi-api-1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\guava-11.0.2.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\javax.inject-1.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\jsr250-api-1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\jsr305-1.3.9.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-aether-provider-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-artifact-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-compat-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-core-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-model-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-model-builder-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-plugin-api-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-repository-metadata-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-settings-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\maven-settings-builder-3.1.0.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\org.eclipse.sisu.inject-0.0.0.M2a.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\org.eclipse.sisu.plexus-0.0.0.M2a.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\plexus-cipher-1.7.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\plexus-component-annotations-1.5.5.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\plexus-interpolation-1.16.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\plexus-sec-dispatcher-1.3.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\plexus-utils-3.0.10.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\sisu-guice-3.1.3-no_aop.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\slf4j-api-1.7.4.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\slf4j-simple-1.7.4.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\wagon-file-2.4.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\wagon-http-2.4-shaded.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\lib\wagon-provider-api-2.4.jar;C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\boot\plexus-classworlds-2.4.2.jar" com.intellij.flex.maven.GeneratorServer "C:\Program Files (x86)\maven-3.1.0\apache-maven-3.1.0\conf\settings.xml" " " C:\Users\XXXXXXXX\.m2\repository f D:/XXXXXXXXXXX/trunk/.idea/flexmojos
2013-08-13 16:35:34,534 [1978499] ERROR - #org.jetbrains.idea.maven - The pipe has been ended
java.io.IOException: The pipe has been ended
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:318)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:141)
at java.io.DataOutputStream.flush(DataOutputStream.java:123)
at java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1816)
at java.io.ObjectOutputStream.flush(ObjectOutputStream.java:716)
at com.intellij.javascript.flex.maven.Flexmojos4GenerateConfigTask.writeWorkspaceMap(Flexmojos4GenerateConfigTask.java:379)
at com.intellij.javascript.flex.maven.Flexmojos4GenerateConfigTask.runGeneratorServer(Flexmojos4GenerateConfigTask.java:198)
at com.intellij.javascript.flex.maven.Flexmojos4GenerateConfigTask.perform(Flexmojos4GenerateConfigTask.java:80)
at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:131)
at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$100(MavenProjectsProcessor.java:28)
at org.jetbrains.idea.maven.project.MavenProjectsProcessor$2.run(MavenProjectsProcessor.java:107)
at org.jetbrains.idea.maven.utils.MavenUtil$9.run(MavenUtil.java:433)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:454)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:152)
2013-08-13 16:35:34,536 [1978501] ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 12.1.4 Build #IU-129.713
2013-08-13 16:35:34,536 [1978501] ERROR - #org.jetbrains.idea.maven - JDK: 1.7.0_25
2013-08-13 16:35:34,536 [1978501] ERROR - #org.jetbrains.idea.maven - VM: Java HotSpot(TM) 64-Bit Server VM
2013-08-13 16:35:34,536 [1978501] ERROR - #org.jetbrains.idea.maven - Vendor: Oracle Corporation
2013-08-13 16:35:34,536 [1978501] ERROR - #org.jetbrains.idea.maven - OS: Windows 7
2013-08-13 16:35:34,536 [1978501] ERROR - #org.jetbrains.idea.maven - Last Action: SaveAll
2013-08-13 16:35:34,537 [1978502] WARN - #org.jetbrains.idea.maven - Generating flex configs exited with exit code 1
2013-08-13 16:35:34,537 [1978502] INFO - #org.jetbrains.idea.maven - Generating flex configs out:
java.lang.NoClassDefFoundError: org/sonatype/aether/RepositorySystemSession
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2521)
at java.lang.Class.getMethod0(Class.java:2764)
at java.lang.Class.getMethod(Class.java:1653)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.RepositorySystemSession
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
Exception in thread "main"
2013-08-13 16:35:35,036 [1979001] INFO - #org.jetbrains.idea.maven - Generating flex configs took 824 ms: 0 min 0sec
EDIT:
A typical child pom file has no build tag, it is supposed to inherit it from the base pom, they still have packaging 'swc' though.
Base pom has:
<flexmojos.version>4.2-beta</flexmojos.version>
<playerglobal.version>11.0</playerglobal.version>
<flexunit.version>4.1.0.8</flexunit.version>
<flex.sdk.version>4.5.1.21328</flex.sdk.version>
<flexpmd.version>1.2</flexpmd.version>
The full base pom:
<?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.XXXXXX</groupId>
<artifactId>config</artifactId>
<version>1.1.3-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Toolbox - Config</name>
<properties>
<build.debug>false</build.debug>
<swf.version>13</swf.version>
<flex.flashPlayer.command>C:\FlashPlayer.exe</flex.flashPlayer.command>
<flexmojos.version>4.2-beta</flexmojos.version>
<playerglobal.version>11.0</playerglobal.version>
<flexunit.version>4.1.0.8</flexunit.version>
<flex.sdk.version>4.5.1.21328</flex.sdk.version>
<flexpmd.version>1.2</flexpmd.version>
<path.source>src</path.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<scm>
<connection>scm:svn:XXXXXX</connection>
</scm>
<build>
<sourceDirectory>${path.source}</sourceDirectory>
<plugins>
<plugin>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>
<version>${flexmojos.version}</version>
<extensions>true</extensions>
<configuration>
<swfVersion>${swf.version}</swfVersion>
<compilerWarnings>
<warn-no-constructor>false</warn-no-constructor>
</compilerWarnings>
<dumpConfigAttach>false</dumpConfigAttach>
<verboseStacktraces>${build.debug}</verboseStacktraces>
<debug>${build.debug}</debug>
<!--<coverage>${build.debug}</coverage>-->
<defines>
<property>
<name>CONFIG::debug</name>
<value>${build.debug}</value>
</property>
</defines>
<storepass>true</storepass>
</configuration>
<dependencies>
<dependency>
<groupId>com.adobe.flex</groupId>
<artifactId>compiler</artifactId>
<version>${flex.sdk.version}</version>
<type>pom</type>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.googlecode.apparat</groupId>
<artifactId>apparat-maven-plugin</artifactId>
<version>1.0-RC9</version>
<executions>
<execution>
<id>tdsi-package</id>
<goals>
<goal>tdsi</goal>
</goals>
</execution>
</executions>
<configuration>
<alchemyExpansion>false</alchemyExpansion>
<inlineExpansion>true</inlineExpansion>
<macroExpansion>true</macroExpansion>
</configuration>
</plugin>
<plugin>
<groupId>com.adobe.ac</groupId>
<artifactId>flex-pmd-maven-plugin</artifactId>
<version>${flexpmd.version}</version>
<configuration>
<ruleSet>../../pmd-ruleset.xml</ruleSet>
</configuration>
<executions>
<execution>
<phase>site</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.adobe.ac</groupId>
<artifactId>flex-pmd-cpd-maven-plugin</artifactId>
<version>${flexpmd.version}</version>
<configuration>
<minimumTokenCount>50</minimumTokenCount>
</configuration>
<executions>
<execution>
<phase>site</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.adobe.ac</groupId>
<artifactId>flex-pmd-metrics-maven-plugin</artifactId>
<version>${flexpmd.version}</version>
<executions>
<execution>
<phase>site</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>debug</id>
<properties>
<build.debug>true</build.debug>
</properties>
</profile>
</profiles>
<distributionManagement>
<snapshotRepository>
<id>snapshot</id>
<name>XXXXX</name>
<url>XXXXXX</url>
</snapshotRepository>
<repository>
<id>release</id>
<name>XXXXXX</name>
<url>XXXXXX</url>
</repository>
</distributionManagement>
<pluginRepositories>
<pluginRepository>
<id>flex-mojos-plugin-repository</id>
<url>https://repository.sonatype.org/content/groups/flexgroup/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>XXXXX</id>
<url>XXXXXXX</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>flexpmd.opensource.adobe</id>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<name>FlexPMD repository on opensource.adobe.com</name>
<url>http://opensource.adobe.com/svn/opensource/flexpmd/maven-repository/release/</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>XXXXX</id>
<url>XXXXXX</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<repository>
<id>flex-mojos-plugin-repository</id>
<url>https://repository.sonatype.org/content/groups/flexgroup/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</project>
It is bug due to "The switch in the core from Sonatype Aether to Eclipse Aether." since maven 3.1. Please watch&vote http://youtrack.jetbrains.com/issue/IDEA-112107.
I just hit the same problem. The java.lang.NoClassDefFoundError: org/sonatype/aether/RepositorySystemSession is the issue and generated when you configure Intellij to use Maven v3.1.0 which doesn't include this library. Roll back to using Maven 3.0.5 with your flexmojos project to get this working.
The issue is that the Flex Maven plug-in no longer generates the additional configuration file by default. I'm not sure if that is a Flex or a Maven thing. The easier solution I found is to tell the plug-in to generate the configuration file with the configurationReport flag:
mvn clean install -DconfigurationReport=true
This works with Maven 3.5.2.
I hope no one else in the world is still using Flex, and no one ever needs this information again. I should change my title to either Senior Code Janitor or Senior Software Necromancer.

Pom.xml throws Missing artifact error for org.springframework.security.extentions continously

Below is a small part my pom.xml for SSO using SAML,
<properties>
<SAML-version>1.0.0-RC2-SNAPSHOT</SAML-version>
</properties>
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>${SAML-version}</version>
</dependency>
for which STS(spring tool suite 3.1) throws below error continuosly,
"Missing artifact org.springframework.security.extensions:spring-security-saml2- core:jar:1.0.0-RC2-SNAPSHOT".
I navigated to maven repo and i can find the jar downloaded by maven.
Kindly help me.
Thanks,Selva
Add This
<repositories>
<repository>
<id>repo.springsource.org</id>
<name>repo.springsource.org-snapshots</name>
<url>http://repo.springsource.org/libs-snapshot</url>
</repository>
</repositories>
The Spring Security SAML website is currently incorrect.. The groupId should actually be org.springframework.security.extensions instead of just org.springframework.security.
The below dependency configuration works for me:
<dependencies>
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>1.0.0.RC2</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

Resources