3

チュートリアルUsing Java in Adapters で説明されているように、アダプターに Java クラスを追加しようとしています。ただし、CLIからそれを実行しようとしています。

私がする時:

  • wl create WLProject
  • cd WLProject
  • wl add アダプター
  • Java クラス (Calculator1.java) を server/java/com/worklight/customcode にコピーします。
  • スタート

ビルド プロセスは失敗し、war ファイルは作成されません。

私がする時:

  • wl create WLProject
  • cd WLProject
  • wl add アダプター
  • スタート
  • Java クラス (Calculator1.java) を server/java/com/worklight/customcode にコピーします。
  • WLビルド
  • wl デプロイ
  • 呼び出す

呼び出しは失敗します。war ファイルを調べると、Calculator1.class がデプロイされていません。

問題は、CLI を使用するときに Java クラスをアダプターに追加するにはどうすればよいかということです。

4

2 に答える 2

1

私にはバグのように聞こえます。サーバー側のアーティファクトを導入すると、ビルド プロセスが失敗するようです。
これは現在 CLI でサポートされていない可能性がありますが、そのような制限は想像できません...

これを確認するために欠陥を開きました。
PMR (サポート チケット) を開いて、利用可能な場合に修正を受け取ることができます。


次のようにすると
、.war ファイルが生成されます。

wl create myTestProject
cd myTestProject/
wl build

しかし、これを行うと
、.war ファイルが生成されないため、他のすべてが失敗します。

wl create myTestProject
mkdir -p myTestProject/server/java/com/worklight/customcode
cp Calculator.java myTestProject/server/java/com/worklight/customcode
cd myTestProject/
wl build
于 2014-08-02T10:51:03.063 に答える
1

WAR を生成しているビルド ファイルに無効な classpathref があります。

classpathrefを編集[CLI Install Location]/worklight-cli/node_modules/generator-worklight-server/lib/build.xmlして、この問題を修正できます。

サーバー ランタイム ライブラリを使用する予定がない場合:
132 行目で、属性 classpathref="server-classpath" を削除できます。

サーバー ランタイム ライブラリの使用を計画している場合:
コードのコンパイル時に使用する「サーバー クラスパス」を追加する必要があります。build.xml ファイルのターゲットの前にbuild-WAR、次を追加できます。
<path id="server-classpath"> <fileset dir="${worklight.jars.dir}" includes="worklight-jee-library.jar" /> <fileset dir="[your home directory]/.worklight/6.2.0/server/wlp/dev" includes="**/*.jar" /> </path>

[your home directory]2 番目のファイルセットは、適切なパスに変更する必要があることに注意してください。これらのファイルセットの両方を追加すると、クラスをコンパイルするときにワークライト ランタイムとサーバー ランタイムが含まれます。

変更を行ったら:
サーバーを再起動します。この時点で、Calculator1 クラスが WAR に追加されます。

于 2014-08-04T15:15:50.140 に答える