2012-07-31 3 views
5

Grails 2.xプロジェクトは3つあります。この例では、彼らは以下のとおりです。Grailsのリソース:イメージがWARに存在していても404です

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

ほぼすべての画像、JS、タグライブラリ、サービス、などは、個々のプロジェクトにおける唯一のアプリケーションの特定のコントローラ/ビュー/サービス/のJS/CSSで、ProjectCoreです。

すべてがNetBeansをIDEとして使用してローカルで正常に動作します。私はProjectAdminプロジェクトを戦い、Tomcat 6を実行している私のUbuntuサーバーにそれを配備しました。アプリケーションのすべてが期待どおりに動作していますが、image:avatar.png(ProjectCoreアプリに含まれています)

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

この特定の画像では、ユーザーがアバターをアップロードしていない場合、この画像へのリンクを作成するためにtaglib(AvatarTagLib)を使用しています。このTaglibはProjectRootにありますが、他のプロジェクトから呼び出されています。私は他のイメージが特定のプロジェクト内のビューから呼び出されていると信じているので、ハングアップがどこにあるのかもしれません。

最初にアプリケーションを配備したとき、私は戦争の所有権(およびディレクトリを含む)をtomcat6:tomcat6に変更するのを忘れていました。このイメージだけでなく、messages.propertiesファイルの問題もありました。 SpringSecurityPlugin。私はそれをすべて拭き取り、パーミッションを修正し、これ以外のすべての問題を解決しました。

これまでにこの動作に遭遇した人はいますか他のパスを知っている人がいますか?

:私は言及するのを忘れました。 http://admin.mydomain.com/images/avatar.pngまたはhttp://admin.mydomain.com/static/images/avatar.pngのいずれかを使用して直接画像にアクセスしようとすると、両方とも404が返されます。ただし、この方法で他の画像にアクセスできます。

編集2:これは単一の画像に限定されません。これは、プラグインに含まれる画像のおよそ半分に影響します。

+0

あなたはあなたのタグに 'projectRoot'を渡していますか? –

+0

@tomasいいえ私はそうではありません。私はg:resourceタグを意味すると思いますか?また、私はファイルへの直接アクセスに関する上記の編集を行った。 – aasukisuki

答えて

4

リソースプラグインをアップグレードすると、この問題が解決しました。私はBuildConfig.groovyruntime ":resources:1.2.RC2"に変更しました

0

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

1)プラグインのリソースをプラグインに渡す必要がある可能性があります 2)r:resourceを試しましたか?

あなたは1.2-RC1にリソースプラグインをアップグレードしようとJIRAを作成

1

、些細なプラグインやアプリにこれを分離することができます。

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

0

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

BuildConfig.groovyのリソースプラグイン(ランタイム "リソース:1.1.6")をwebxmlプラグイン(コンパイル "webxml:1.4.1")に変更して解決しました。

私はそれもあなたのために働くことを願っています。

関連する問題