2016-08-01 15 views
0

私はあなたの助けが必要です...私は夢中になります。私はwebsphere liberty 16.0.0.2サーバーに非常に単純なアプリケーションを配備しようとします。私の最初の大きな問題は、残りのAPIを呼び出すことはできません。エラーを取得する:ルートパスに一致するリクエストパス/admin-web-1.0-SNAPSHOT/api/accountが見つかりませんでした。相対パス:/ api/account。JavaEE Websphere Libertyルートリソースの照合要求がありません。有効なjdbcDriverがありません。

コード: AppREST

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 
import java.util.HashSet; 
import java.util.Set; 

@ApplicationPath("api") 
    public class AppREST extends Application { 

    public Set<Class<?>> getClasses() { 
     Set<Class<?>> resources = new HashSet<Class<?>>(); 
     resources.add(AccountREST.class); 
     resources.add(GroupREST.class); 
     return resources; 
    } 
} 

AccountREST

import javax.faces.bean.ManagedBean; 
import javax.faces.bean.RequestScoped; 
import javax.inject.Inject; 
import javax.ws.rs.*; 
import javax.ws.rs.core.MediaType; 
import java.util.List; 

@ManagedBean 
@RequestScoped 
@Path("/account") 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public class AccountREST { 

@Inject 
private AccountFacade accountFacade; 

@POST 
public void createAccount(AccountRequest accountRequest){ 

} 

@GET 
public List<AccountRequest> getAccountRequests() { 
    return accountFacade.getAccountRequests(); 
} 

GroupRESTはAccountRESTとほぼ同じです。 web.xmlがある:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 
<module-name>admin-web</module-name> 
<display-name>Eportal Registration Admin</display-name> 

</web-app> 

POMファイルは、この依存関係が含まれています

<dependencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>eportal.registration.admin</groupId> 
     <artifactId>admin-models</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>eportal.registration.admin</groupId> 
     <artifactId>admin-usecases</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>eportal.registration.admin</groupId> 
     <artifactId>admin-models</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>eportal.registration.admin</groupId> 
     <artifactId>admin-repositories</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
</dependencies> 

私は本当に今、私はほとんどの作業プロジェクトからそれを過ぎコピー間違い:(

を参照してくださいカント2番目の問題はJDBCドライブですmaven centralからmysql-connector-java-6.0.3.jarをダウンロードし、server.xmlに追加しました:

<?xml version="1.0" encoding="UTF-8"?> 
<server description="new server"> 

<!-- Enable features --> 
<featureManager> 
    <feature>javaee-7.0</feature> 
</featureManager> 
<httpEndpoint id="defaultHttpEndpoint" 
       httpPort="9080" /> 

<applicationManager autoExpand="true"/> 

<dataSource id="RegistrationAdminDB" jndiName="jdbc/RegistrationAdminDB"> 
    <jdbcDriver libraryRef="MySQLLib"/> 
    <properties databaseName="REGISTRATIONADMINDB" serverName="localhost" portNumber="3306"/> 
</dataSource> 

<library id="MySQLLib"> 
    <fileset dir="/opt/ibm/wlp/clients/mysql-connector-java-6.0.3.jar"/> 
</library> 
</server> 

起動時にエラーに

java.lang.RuntimeException: java.sql.SQLNonTransientException: DSRA4000E: A valid JDBC driver implementation class was not found for the jdbcDriver dataSource[RegistrationAdminDB]/jdbcDriver[default-0] using the library MySQLLib. [] 
at com.ibm.ws.resource.internal.ResourceFactoryTrackerData$1.getService(ResourceFactoryTrackerData.java:113) 

を取得します。あなたの代わりにディレクトリのファイルを指す<fileset dir="..."/>を持っているあなたのserver.xmlで

まあ、私はミスを見つけるカントが、不運な何も動作:(あなたの助けのための 感謝を!

答えて

1

、自由が正常にアプリを展開しないことが通常与えるのだろうか?デプロイが成功した場合にアプリケーションが開始されたURL /ポートおよびコンテキストルート。

2番目の問題で、ここの手順を試してみましたか? Configuring MySQL Driver in Liberty

  1. $ LIBERTY_HOME/WLPは/ usr /共有/リソース/ MySQLへのMySQL JDBCドライバのJARファイルを追加します。そのディレクトリが存在しない場合は作成します。次のように$ LIBERTY_HOMEは/ usr /サーバ/ worklightServer/server.xmlファイル内のデータ・ソースは、(worklightServerがサーバーの名前で、このパスに置き換えてもよい)

  2. 設定:

<library id="MySQLLib"> <fileset dir="${shared.resource.dir}/mysql" includes="*.jar"/> </library>

+0

こんにちは、ありがとう、教訓 - 12hの仕事の後で設定をデバッグしないxD私はテンプレートフォルダに私のアプリを配備しました.-コードは完全にうまくいきました。最新のmysqlコネクタ6.xxはうまくいかないようです - 私の設定を変更してコネクタをダウングレードした後で動作しました。 Ty –

+0

ハハ、私たちはすべて一緒になってきた;)うれしい – Pete

0

てみてくださいあなたの<library>設定については、以下:あなたはdropinsフォルダにwarファイルをコピーする場合、あなたの最初の問題のために

<library id="MySQLLib"> 
    <fileset dir="/opt/ibm/wlp/clients"/> 
</library> 
関連する問題