Erro ao tentar executar Jar criado com o maven

1 resposta
dsystem

Boa tarde pessoal,

Eu criei um jar executável do meu projeto com o auxílio do Maven. Eu mapeei o meu main-class e ficou dessa forma.

public class Indexador {

	private static final Log LOG = LogFactory.getLog(Indexador.class);
	
	private static final ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml");
	
	/**
	 * 
	 * @param arq argumentos de entrada( diretorio do indice, jobs[], NovoIndice[true/false], ))
	 * @throws CoreException 
	 */
	public static void main(String[] args) {
		Indexa indexa = (Indexa) context.getBean("indexa");
		
		try {
			indexa.prepare(args);
			Date data = new Date();
			
			LOG.info("##########    Iniciando Indexacao dos Atributos   ##########"); 
			indexa.indexaBanco();
			LOG.info("##########             Fim da Indexacao           ##########");
			
			LOG.info("------------------------------------------------------------"); 
			LOG.info("Tempo de processamento :\t\t"+ (new Date().getTime() - data.getTime())/1000 + "s"); 
			LOG.info("------------------------------------------------------------"); 
		} catch (StorageIndexException e) {
			LOG.error(" Error : " + e.getMessage(),e);
		}
		
	}
}

O meu pom.xml ficou assim

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>1.5</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<archive>
								<manifest>
								 <addClasspath>true</addClasspath>
								</manifest>
							</archive>
							<descriptorRefs>
								<descriptorRef>jar-with-dependencies</descriptorRef>
							</descriptorRefs>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<manifestEntries>
										<Main-Class>index.Indexador</Main-Class>
										<Build-Number>123</Build-Number>
									</manifestEntries>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>

Criei o executável e na criação não deu erro, porém quando tento executar, é informado o seguinte erro

[main]  INFO ClassPathXmlApplicationContext:456 - Refreshing org.sp
ringframework.context.support.ClassPathXmlApplicationContext@6526804e: startup d
ate [Fri Jan 13 12:47:42 BRST 2012]; root of context hierarchy
12:47:42,319 [main]  INFO XmlBeanDefinitionReader:315 - Loading XML bean definit
ions from class path resource [storage-index-application-context.xml]
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException
: Line 23 in XML document from class path resource [storage-index-application-co
ntext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-co
mplex-type.2.4.c: The matching wildcard is strict, but no declaration can be fou
nd for element 'context:component-scan'.
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:396)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:334)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:302)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
        at org.springframework.context.support.AbstractXmlApplicationContext.loa
dBeanDefinitions(AbstractXmlApplicationContext.java:126)
        at org.springframework.context.support.AbstractXmlApplicationContext.loa
dBeanDefinitions(AbstractXmlApplicationContext.java:92)
        at org.springframework.context.support.AbstractRefreshableApplicationCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
        at org.springframework.context.support.AbstractApplicationContext.obtain
FreshBeanFactory(AbstractApplicationContext.java:467)
        at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:397)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<i
nit>(ClassPathXmlApplicationContext.java:139)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<i
nit>(ClassPathXmlApplicationContext.java:83)
        at br.com.arizona.storage.index.Indexador.&lt;clinit&gt;(Indexador.java:23)
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching w
ildcard is strict, but no declaration can be found for element 'context:componen
t-scan'.
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Un
known Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportE
rror(Unknown Source)
        at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknow
n Source)
        at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unkno
wn Source)
        at org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(Unknown Sou
rce)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unkn
own Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocum
ent(DefaultDocumentLoader.java:75)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:388)
        ... 14 more
Could not find the main class: index.Indexador. Program w
ill exit.

Alguém saberia me dizer o que pode estar ocorrendo?

Bjs

1 Resposta

dsystem

Agora o erro que aparece é esse

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.IllegalArgumentException: name
        at sun.misc.URLClassPath$Loader.findResource(Unknown Source)
        at sun.misc.URLClassPath.findResource(Unknown Source)
        at java.net.URLClassLoader$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findResource(Unknown Source)
        at java.lang.ClassLoader.getResource(Unknown Source)
        at java.lang.ClassLoader.getResourceAsStream(Unknown Source)
        at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:155)
        at org.springframework.core.io.support.PropertiesLoaderSupport.loadProperties(PropertiesLoaderSupport.java:181)
        at org.springframework.core.io.support.PropertiesLoaderSupport.mergeProperties(PropertiesLoaderSupport.java:161)
        at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:69)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:663)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:638)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:407)
        at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init&gt;(ClassPathXmlApplicationContext.java:197)
        at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init&gt;(ClassPathXmlApplicationContext.java:172)
        at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init&gt;(ClassPathXmlApplicationContext.java:158)
        index.Indexador.main(Indexador.java:28)
        ... 5 more

Alguém?

Criado 13 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 1
Participantes 1