5

3 つの Grails 2.x プロジェクトがあります。この例では、次のとおりです。

ProjectCore    - A Grails plugin containing all reusable code (domains, taglibs, etc)
ProjectWeb     - Front facing web application.  Uses ProjectCore
ProjectAdmin   - Admin appliction.  Uses ProjectCore

ほとんどすべての画像、js、taglib、サービスなどは ProjectCore にあり、個々のプロジェクトにはアプリ固有のコントローラー/ビュー/サービス/js/css のみがあります。

NetBeans を IDE として使用すると、すべてがローカルで正常に動作します。ProjectAdmin プロジェクトを作成し、Tomcat 6 を実行している Ubuntu サーバーに展開しました。1 つの画像 avatar.png (ProjectCore アプリに含まれています) を除いて、アプリケーション内のすべてが期待どおりに機能しています。

g:resource タグを使用してすべての画像リンクを作成していますが、この 1 つの画像を除いて、それらはすべて /static/images/some_image_name.png URL に正しく解決されています。また、この画像が戦争中に存在することも確認しました (他のすべての画像がある plugins/ProjectCore/images にあります)。

この特定の画像では、ユーザーが自分のアバターをアップロードしていない場合、taglib (AvatarTagLib) を使用してこの画像へのリンクを作成しています。この Taglib は ProjectRoot にありますが、他のプロジェクトから呼び出されています。他の画像は特定のプロジェクト内のビューから呼び出されていると思われるため、ハングアップが発生している可能性があります。

最初にアプリケーションをデプロイしたとき、war (およびそれを含むディレクトリー) の所有権を tomcat6:tomcat6 に変更するのを忘れていたため、このイメージだけでなく、SpringSecurityPlugin の messages.properties ファイルにも問題がありました。私はそれをすべて一掃し、アクセス許可を修正しました。これにより、この問題を除くすべての問題が解決されました。

誰かが以前にこの動作に遭遇したことがありますか、またはこれを整理するために私がたどることができる他の道を知っていますか?

編集:言及するのを忘れたことが1つあります。http://admin.mydomain.com/images/avatar.pngまたはhttp://admin.mydomain.com/static/images/avatar.pngを介して画像に直接アクセスしようとすると、どちらも 404 を返します。ただし、 、この方法で他の画像にアクセスできます。

編集 2 : これは単一の画像に限定されません。プラグインに含まれる画像の約半分が影響を受けています。

4

4 に答える 4

4

リソースプラグインをアップグレードすると、この問題が修正されました。で更新BuildConfig.groovyしましたruntime ":resources:1.2.RC2"

于 2012-12-06T11:21:13.333 に答える
1

リソースプラグインを1.2-RC1にアップグレードしてみてください。

私は非常によく似た問題を抱えていました。私のpngのうち3つは、/imagesと/static/imagesの両方で直接アクセスすると404エラーを返します。画像の名前はdot.png、calendar.png、dotted_vertical.pngでした。名前を変更すると(たとえば、dotted_vertica.pngまたはdotted_vertical1.png)、機能しましたが、他の類似点やパターンは見つかりませんでした。確かに奇妙です。

于 2012-08-09T11:01:49.617 に答える
0

コードを見ずに本当に言うことは不可能です。

1)プラグイン内のリソースに対してplugin =を渡す必要がある場合があります2)r:resourceを試しましたか?

これを簡単なプラグインとアプリに分離できる場合は、jiraを作成します

于 2012-07-31T22:15:40.320 に答える
0

私も同じ問題を抱えています。

BuildConfig.groovyでリソースプラグイン(ランタイム ":resources:1.1.6")をwebxmlプラグイン(コンパイル ":webxml:1.4.1")に変更することで解決し、現在は機能しています。

それがあなたにも役立つことを願っています。

于 2012-10-24T02:47:11.180 に答える