Probleme beim deployen

andkul

Bekanntes Mitglied
Hallo,

ich bin neu in der Java EE Welt und hab noch etwas Probleme.
Im Moment versuche ich grade ein einfaches JPA Projekt zu machen, aber ich bekomme immer den gleichen Fehler...
hier mal der Stack trace

Java:
15:46:15,890 ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/ state=Not Installed mode=Manual requiredState=Parse
org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/
	at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:362)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:322)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:294)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:234)
	at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: Failed to resolve schema nsURI= location=persistence
	at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:203)
	at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:168)
	at org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:189)
	at org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:166)
	at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:137)
	at org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(SchemaResolverDeployer.java:121)
	at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parseAndInit(AbstractVFSParsingDeployer.java:256)
	at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse(AbstractVFSParsingDeployer.java:188)
	at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:348)
	... 28 more
Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Failed to resolve schema nsURI= location=persistence
	at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startElement(SundayContentHandler.java:281)
	at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.startElement(SaxJBossXBParser.java:401)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
	at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
	at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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.AbstractSAXParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:199)
	... 36 more
15:46:15,890 WARN  [HDScanner] Failed to process changes
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

*** DEPLOYMENTS IN ERROR: Name -> Error

vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/ -> org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/


DEPLOYMENTS IN ERROR:
  Deployment "vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/" is in error due to the following reason(s): org.jboss.xb.binding.JBossXBRuntimeException: Failed to resolve schema nsURI= location=persistence

	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:993)
	at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:939)
	at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873)
	at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:369)
	at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)

Wie man im Stacktrace sieht scheitert es schon beim Deployen, aber warum versteh ich nicht...
Komischerweise ist die KundenverwaltungBean laut jndiView des JBoss deployt?!?!?
Wenn ich den Client aber laufen lasse bekomme ich folgendes:
javax.naming.NameNotFoundException: KundenverwaltungBean not bound

Remote Interace
Java:
@Remote
public interface KundenverwaltungRemote {

	public void addKunde(int nr, String name);
	public Object findKunde(int nr);
}


die Implementierung
Java:
@Stateless
public class KundenverwaltungBean implements KundenverwaltungRemote {

	private @PersistenceContext EntityManager em;

	
	@Override
	public void addKunde(int nr, String name) {
		System.out.println("füge Kunde " + name +  " mit Kundennummer " + nr + " hinzu");
		em.persist(new Kunde(nr, name));
	}

	@Override
	public Kunde findKunde(int nr) {
		System.out.println("finde Kunde mit Nr " + nr);
		return em.find(Kunde.class, nr);
	}
}


das POJO Kunde
Java:
@Entity
public class Kunde implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id @GeneratedValue private int kd_nr;
	private String kd_name;
	
	public Kunde(int nr, String name){
		this.kd_nr = nr;
		this.kd_name = name;
	}
	
	public String getKd_name() { return kd_name;}
	public void setKd_name(String kdName) { kd_name = kdName; }
	public int getKd_nr() { return kd_nr; }
	public void setKd_nr(int kdNr) { kd_nr = kdNr; }
}

der Client (in einem zweiten Eclipse Projekt)
Java:
public class KundenverwaltungClient {

	public static void main(String[] args) {

		try {
			Properties props = new Properties();
			props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 
			props.setProperty("java.naming.provider.url", "jnp://localhost:1099");
			InitialContext context = new InitialContext(props);
			
			KundenverwaltungRemote kundenverwaltung = (KundenverwaltungRemote) context.lookup("KundenverwaltungBean/remote");
			kundenverwaltung.addKunde(1, "Andi");
			kundenverwaltung.addKunde(2, "Richi");
			kundenverwaltung.addKunde(3, "Obama");
			System.out.println(kundenverwaltung.findKunde(2));
			
			
		} catch (NamingException e) {
			e.printStackTrace();
		}
	}
}


und meine persistence.xml (liegt auf höhe des META-INF Ordners beim Server Projekt)
Java:
<?xml version="1.0" encoding="UTF-8"?>
<persistence>
	<persistence-unit name="kunde">
		<jta-data-source>java:/DefaultDS</jta-data-source>
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="create-drop" />
		</properties>
	</persistence-unit>
</persistence>

Bitte helft mir auf die Sprünge...
Ich hänge hier schon seit Ewigkeiten, ich hab gegooglet, Foren durchstöbert, andere Tutorials ... nichts hat geholfen
 
Zuletzt bearbeitet:

Krusty

Mitglied
Ich grüble ebenfalls immer noch über meinem ersten Gehversuch in der Java EE-Welt und hoffe, dass eventuelle Antworten auf dein Problem auch mir irgendwie helfen.;)

  • Läuft deine Anwendung auch ohne JBoss?
  • Was steht in deiner
    Code:
    <datenbankspezifischer Name>-ds.xml
    ? Verwendest du eine JBoss-Vorgabe oder etwas Eigenes?
  • Deine Methode
    Code:
    findKunde
    gibt in deinem Interface ein
    Code:
    Object
    zurück, aber in der Bean-Klasse eine
    Code:
    Kunde
    -Referenz.
  • Du vergibst beim Anlegen eines Kunden selbst die Kunden-Nr, welche du aber durch die Annotation
    Code:
    @GeneratedValue
    automatisch von der DB erzeugten lassen möchtest. Ich habe in meiner Applikation nicht getestet, ob das beides ohne Konflikt machbar ist. Ist diese Implementierung so von dir beabsichtigt?
 

andkul

Bekanntes Mitglied
ok, vielen Dank für die Antwort...
Ich hab das Problem bereits gelöst, bzw. ich hab ein neues Projekt angelegt und jetzt kommt der Fehler nicht mehr (ich weiß also leider nicht, wo genau das Problem lag)

Ich hab jetzt bereits ein neues Problem: Ich versuch es schon seit Tagen zu lösen, bisher leider ohne Erfolg...
Ich wäre für etwas Hilfe wirklich dankbar, da ich einfach nicht mehr weiterweiß:
Mein Projekt ist so simpel wies nur sein kann:

Hier der stack trace
Java:
javax.naming.NamingException: Could not dereference object [Root exception is java.lang.reflect.UndeclaredThrowableException]
	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1504)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:822)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at de.kulzer.client.WarenkorbClient.main(WarenkorbClient.java:17)
Caused by: java.lang.reflect.UndeclaredThrowableException
	at $Proxy0.createProxyBusiness(Unknown Source)
	at org.jboss.ejb3.proxy.impl.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:129)
	at org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory.getProxy(StatelessSessionProxyObjectFactory.java:79)
	at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:158)
	at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
	at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1479)
	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1496)
	... 4 more
Caused by: java.lang.ClassNotFoundException: de.kulzer.server.WarenkorbRemote
	at org.jboss.remoting.serialization.ClassLoaderUtility.loadClass(ClassLoaderUtility.java:103)
	at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:86)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveProxyClass(ObjectInputStreamWithClassLoader.java:253)
	at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:119)
	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:238)
	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:138)
	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:123)
	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:1220)
	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:850)
	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:165)
	at org.jboss.remoting.Client.invoke(Client.java:1724)
	at org.jboss.remoting.Client.invoke(Client.java:629)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.proxy.impl.remoting.IsLocalProxyFactoryInterceptor.invoke(IsLocalProxyFactoryInterceptor.java:72)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
	at $Proxy0.createProxyBusiness(Unknown Source)
	at org.jboss.ejb3.proxy.impl.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:129)
	at org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory.getProxy(StatelessSessionProxyObjectFactory.java:79)
	at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:158)
	at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
	at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1479)
	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1496)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:822)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at de.kulzer.client.WarenkorbClient.main(WarenkorbClient.java:17)
	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.ejb3.proxy.impl.remoting.IsLocalProxyFactoryInterceptor.invoke(IsLocalProxyFactoryInterceptor.java:72)
	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
	at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)

das remote interface (liegt im server und im client => ist das korrekt?)
Java:
@Remote
public interface WarenkorbRemote {
	public void add();
}


hier die Bean Implementierung (wie gesagt, ziemlich simpel)
Java:
@Stateless
public class WarenkorbBean implements WarenkorbRemote {

	@Override
	public void add() {
		System.out.println("... add ...");
	}
}

und der client
Java:
public class WarenkorbClient {

	public static void main(String[] args) {
		
		try {
			Properties props = new Properties();
			props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 
			props.setProperty("java.naming.provider.url", "jnp://localhost:1099");
			
			InitialContext ctx = new InitialContext(props);
			WarenkorbRemote warenkorb = (WarenkorbRemote) ctx.lookup("WarenkorbBean/remote");
			warenkorb.add();
			
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

ich arbeite mit jboss 5, JEE 5, Eclipse 3.5...
für serverprojekt und clientprojekt hab ich jeweils ein ejb-Projekt angelegt;

Ich hab keine Ahnung was ich falsch mache, ist bestimmt irgendein trivialer Anfängerfehler, aber ich find ihn einfach nicht...

Also, ich wäre wirklich dankbar für etwas hilfe
 

andkul

Bekanntes Mitglied
Für den, den es noch interessiert...

Ich hab den Fehler gefunden:
der Fehler
Java:
ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/C:/jboss-5.1.0.GA/server/default/deploy/KundenverwaltungServer.jar/ state=Not Installed mode=Manual requiredState=Parse

entsteht, wenn die persitence.xml nicht korrekt ist, bzw. wenn die jta-data-source nicht korrekt angegeben ist.
Ich hatte da einen Schreibfehler drinne
 

Ähnliche Java Themen

Neue Themen


Oben