2011-06-25 15 views
6

मैं एनबी 7.0, जुनीट और एम्बेडेड ग्लासफ़िश सर्वर के साथ एक जे 2 ईई वेब एप्लिकेशन को Win7Professional मशीन में परीक्षण करने की कोशिश कर रहा हूं।नेटबीन 7.0, जुनीट और ग्लासफ़िश एंबेडेड 3.1: काम नहीं करता

मैंने इसे एक ही साधारण बीन के साथ एक साधारण सरल हैलो-वर्ल्ड वेब ऐप का परीक्षण करने के लिए तोड़ दिया।

मेरे क्लासपाथ में ग्लासफ़िश-एम्बेडेड-स्टेटिक-shell.jar है, और ग्लासफ़िश-एम्बेडेड-ऑल-3.1 का उपयोग करने की भी कोशिश की लेकिन यह भी काम नहीं किया।

अब यहाँ कोड मैं सेम का परीक्षण करने के लिए उपयोग:

import javax.ejb.embeddable.EJBContainer; 
import org.junit.AfterClass; 
import org.junit.BeforeClass; 
import org.junit.Test; 
import static org.junit.Assert.*; 

public class SimpleBeanTest { 

private static EJBContainer container; 

public SimpleBeanTest() { 
} 

@BeforeClass 
public static void setUpClass() throws Exception { 
    container = javax.ejb.embeddable.EJBContainer.createEJBContainer(); 
} 

@AfterClass 
public static void tearDownClass() throws Exception { 
    container.close(); 
} 

@Test 
public void testCountToThree() throws Exception { 
    System.out.println("countToThree"); 
    SimpleBean instance = (SimpleBean) container.getContext().lookup("java:global/classes/SimpleBean"); 
    int expResult = 0; 
    int result = instance.countToThree(); 
    assertEquals(expResult, result); 

} 
} 

और यहाँ क्या इसे से बाहर आता है:

19.06.2011 09:31:56 com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient 
INFO: Cannot find javadb client jar file, derby jdbc driver will not be available by default. 
19.06.2011 09:31:56 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders 
SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = META-INF/gfprobe-provider.xml 
java.lang.IllegalStateException: Provider already mapped glassfish:javamail:smtp-transport 

(StackTrace here) 

19.06.2011 09:31:57 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders 
SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = META-INF/mojarra-jsf-api-probe-provider.xml 
java.lang.IllegalStateException: Provider already mapped glassfish:jsf:faces-servlet 

(StackTrace here) 

19.06.2011 09:31:57 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders 
SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = jersey-gf-server-probe-provider.xml 
java.lang.IllegalStateException: Provider already mapped glassfish:jersey:server-hidden 

(StackTrace here) 

19.06.2011 09:31:57 org.glassfish.flashlight.impl.provider.FlashlightProbeProviderFactory processXMLProbeProviders 
SCHWERWIEGEND: MNTG0301:Cannot process XML ProbeProvider, xml = jersey-gf-statsprovider-probe-provider.xml 
java.lang.IllegalStateException: Provider already mapped glassfish:jersey:server 

(StackTrace here) 

19.06.2011 09:31:57 org.glassfish.ha.store.spi.BackingStoreFactoryRegistry register 
INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry 
19.06.2011 09:31:57 org.glassfish.ha.store.spi.BackingStoreFactoryRegistry register 
INFO: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry 
19.06.2011 09:31:57 com.sun.enterprise.v3.server.AppServerStartup run 
SCHWERWIEGEND: Startdienst konnte nicht gestartet werden: com.sun.enterprise.naming.GlassFishNamingBuilder 
19.06.2011 09:31:57 com.sun.enterprise.v3.server.AppServerStartup run 
INFO: GlassFish Server Open Source Edition 3.1 (43) Startzeit: Embedded (597ms), Startdienste(929ms), gesamt(1.526ms) 
19.06.2011 09:31:57 org.glassfish.admin.mbeanserver.JMXStartupService$JMXConnectorsStarterThread run 
INFO: JMXStartupService: JMXConnector system is disabled, skipping. 

अद्यतन: और यह अपवाद है जो होगा किसी भी परीक्षण द्वारा फेंक दिया गया:

No EJBContainer provider available 
Provider named org.glassfish.ejb.embedded.EJBContainerProviderImpl threw unexpected exception at create EJBContainer: 
java.lang.RuntimeException 
java.lang.RuntimeException: java.lang.IllegalStateException: AMX Booter MBean is already registered: amx-support:type=boot-amx 
    at org.glassfish.internal.embedded.Server.<init>(Server.java:290) 
    at org.glassfish.internal.embedded.Server.<init>(Server.java:66) 
    at org.glassfish.internal.embedded.Server$Builder.build(Server.java:176) 

(Stack Trace here) 

Caused by: java.lang.IllegalStateException: AMX Booter MBean is already registered: amx-support:type=boot-amx 

मैंने नेटबीन को दो बार पुनर्स्थापित किया है और यह या तो काम नहीं करता है।

उत्तर

3

मैं एक ही था मुद्दा और मैंने निम्नलिखित किया:

1) मैंने ग्लासफ़िश 3.1.1 स्थापित किया और इसे मेरे प्रोजेक्ट से लिंक किया। सबसे पहले मैंने सर्वर - सर्वर के साथ सर्वर जोड़ा - सर्वर जोड़ें ... फिर मैंने अपनी ईजेबी परियोजना पर राइट-क्लिक किया और चयनित गुण - रन - ग्लासफ़िश 3.1.1
2) मेरे ईजेबी पोम में।एक्सएमएल मैं इस निर्भरता का उपयोग करें (सही फ़ाइल के लिए सुनिश्चित systemPath चर अंक बनाने):

<dependency> 
    <groupId>org.glassfish.extras</groupId> 
    <artifactId>glassfish-embedded-static-shell</artifactId> 
    <version>3.1.1</version> 
    <scope>system</scope> 
    <systemPath>${glassfish.embedded-static-shell.jar}</systemPath> 
</dependency> 

3) मेरी EJB pom.xml में मैं हटाया निर्भरता अन्य लोगों ने कहा कि मैं इसे जोड़ने के लिए अगर मैं मिल है त्रुटियां "प्रदाता पहले ही मैप किया गया है ..."

<dependency> 
    <groupId>org.glassfish.extras</groupId> 
    <artifactId>glassfish-embedded-all</artifactId> 
    <version>3.1.1</version> 
    <scope>test</scope> 
</dependency> 

यही है! अब मेरे ईजेबी जुनीट ने जेपीए 2 के साथ एक आकर्षण की तरह काम किया है! उम्मीद है की यह मदद करेगा!

1

ऐसा लगता है कि सर्वर ठीक शुरू हो रहा है (उनमें से कुछ अपवादों की अपेक्षा की जाती है, लेकिन मैं पुष्टि नहीं कर सकता कि वे सभी हैं या नहीं)।

  • क्या आप "रन> टेस्ट प्रोजेक्ट" के साथ परीक्षण के मामले चला रहे हैं?
  • क्या जुनीट जीयूआई पॉप-अप है?
  • क्या जुनीट स्थापित है? नेटबीन्स 7.0 अब पूछता है कि क्या आप लाइसेंस जारी करने के कारण जुनीट डाउनलोड करना चाहते हैं ...
  • क्या आप यूनिट परीक्षण चला सकते हैं जिन्हें एम्बेडेड कंटेनर की आवश्यकता नहीं है?

उन चरणों का पालन करने का प्रयास करें: http://javadude.wordpress.com/2010/02/22/tutorial-most-simple-test-application-for-embedded-glassfish-netbeans-hudson/ (हडसन भाग के बारे में भूल जाओ)। आईडीई आपके लिए निर्भरताओं को शामिल करने का ख्याल रखना चाहिए।

ओह, एक और बात, चूंकि आप विंडोज का उपयोग कर रहे हैं, यह नेटबीन्स को व्यवस्थापक के रूप में चलाने का प्रयास करने के लिए चोट नहीं पहुंचाएगा (राइट क्लिक विकल्प) और देखें कि क्या होता है।

चीयर्स,

अद्यतन

शायद तुम मार रहे हैं this बग:

देखने के लिए कि इस तरह कंटेनर शुरू करने के लिए काम करता है:

@BeforeClass 
public static void setUpClass() throws Exception { 
    Map<String, Object> p = new HashMap<String, Object>();  
    p.put(EJBContainer.APP_NAME, "foo"); 
    container = EJBContainer.createEJBContainer(p); 
} 
+0

हाय एंथनी, मैंने एक ही परिणाम के साथ ट्यूटोरियल की कोशिश की। हां, जुनीट स्थापित है, यह एनबी स्थापना के साथ आया, जब मैंने परीक्षण चलाने के लिए जीयूआई प्रकट किया। – SDReyes

+0

@ डी गैल्विस। हाय, तो समस्या क्या है, क्या यह लटक रही है? क्या यह "countToTree" भी प्रदर्शित कर रहा है? –

+0

मैंने भाग्य के साथ एनबी पूर्ण संस्करण स्थापित करने की कोशिश की। प्रशासनिक विशेषाधिकारों का उपयोग करना या तो काम नहीं करता है। – SDReyes

संबंधित मुद्दे