2013-04-08 2 views
0

Как гласит мое название, я считаю, что проблема связана с загрузкой классов и тем фактом, что мое приложение пытается отбросить класс джерси-ядра для отдыха. Ниже приведен код, который запускает его, а также ошибка:NetBeans Maven: ClassCastException - RestEasy vs Jersey

java.lang.LinkageError: ClassCastException: attempting to castjar:file:/C:/Program%20Files/NetBeans%207.3/enterprise/modules/ext/rest/jersey-core-1.13.jar!/javax/ws/rs/ext/RuntimeDelegate.classtojar:file:/C:/Documents%20and%20Settings/hwng/My%20Documents/NetBeansProjects/pics-client/branding/target/netbeans_clusters/pics_client/modules/ext/org.jboss.resteasy/jaxrs-api-2.3.5.Final.jar!/javax/ws/rs/ext/RuntimeDelegate.class 
at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:126) 
at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:96) 

Код:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
    RegisterBuiltin.register(ResteasyProviderFactory.getInstance()); 
    IRoutesService client = ProxyFactory.create(IRoutesService.class, 
      "http://localhost:8080/rest/routeservice/"); 
    client.postRoute(txtRouteName.getText()); 
}       

Теперь мой NetBeans модуль платформы (специалист) имеет зависимость от следующего:

<dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>2.3.5.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>com.mycompany</groupId> 
     <artifactId>myapp-api</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 

Myapp-api - это банка, которая также расположена на сервере и используется для взаимодействия с сервисом. POM для MYAPP-апи имеет следующую зависимость:

<dependencies> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>${resteasy.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jackson-provider</artifactId> 
     <version>${resteasy.version}</version> 
    </dependency> 
</dependencies> 

В общем, я не знаю, почему NetBeans даже отдаленно пытается смотреть на джерси-ядра, когда я, кажется, не имеют каких-либо ссылок на Это. Любую помощь или рекомендацию оценивают.

I Right Нажав на мой RouteTopComponent и посмотрел на путь класса runtime и смог четко увидеть джерси-ядро. Как я могу избавиться от него?

ответ

0

В моем случае это была глупая ошибка новичка. Я предположил, что нажатие F6 в NetBeans (для запуска) автоматически запустит мое приложение платформы NetBeans (mavenized); однако он не запускал то, что должен. Он запускал мой TopComponent в новом экземпляре платформы NetBeans (отсюда все загруженные классы Джерси).

Все, что мне нужно было сделать, это на самом деле щелкнуть правой кнопкой мыши приложение-приложение и выбрать запуск для его правильного запуска приложения.

Возможно, это будет полезно для тех, кто когда-либо делает то же самое, что и я, и пытается запустить файл напрямую.

Смежные вопросы