2012-02-17 35 views
6

Tôi đã đóng gói ứng dụng của mình vào một cuộc chiến (bằng grails war), và như tôi thấy, nó đã xây dựng tất cả các tài nguyên cần thiết. Ví dụ: tôi có mã coffeescript, đã được dịch sang js dir. Tương tự cho scss, v.v. Tôi có nghĩa là tôi có tất cả tài nguyên tĩnh, có thể được phân phát trực tiếp (và tôi muốn phục vụ trực tiếp từ Nginx, không phải Tomcat)Vô hiệu hóa việc xử lý tài nguyên grails 2.0, sau khi triển khai

Nhưng sau khi triển khai war vào Tomcat, tôi nhận được các lỗi như :

ERROR plugins.DefaultGrailsPluginManager - Error configuring dynamic methods for plugin [resources:1.1.6]: java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/io/Reader;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode; 
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/io/Reader;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode; 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 
Caused by: java.lang.NoSuchMethodError: org.mozilla.javascript.Parser.parse(Ljava/io/Reader;Ljava/lang/String;I)Lorg/mozilla/javascript/ScriptOrFnNode; 
    at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312) 

Cái này là từ yui-minify-resources plugin. Điều tương tự cũng xảy ra đối với plugin coffeescript-resources. Có lẽ đó là bởi vì có cái gì đó sai với plugin này, nhưng nó điên, bởi vì tôi đã có tất cả các nguồn lực, chuẩn bị/xử lý/biên dịch thành các tập tin tĩnh. Tôi không cần plugin này trên chế độ sản xuất.

Làm cách nào để vô hiệu hóa tất cả plugin tài nguyên này ở chế độ sản xuất? Có thể không?

PS điều tương tự cho grails run-war

+0

bất kỳ may mắn? Whats là độ phân giải? Tôi đang phải đối mặt với vấn đề tương tự. –

+0

@UmairSaleem không nhớ chính xác, nhưng đã được sửa bằng cách 'hack xung quanh trình nạp lớp' và nâng cấp tất cả mọi thứ lên phiên bản mới hơn –

Trả lời

2

Điều này có thể do coffeescript-resourcesyui-minify-resources cả có một phụ thuộc vào Rhino động cơ javascript, nhưng nhóm nghiên cứu YUI đã some modifications lên phiên bản của họ về tê giác, khiến nó không tương thích với vanilla Rhino. Bạn có hai lựa chọn:

  1. Hãy thử hack xung quanh với classloaders
  2. Không sử dụng YUI nén
+0

Liên quan đến tùy chọn 2: chúng tôi sẽ sớm phát hành một plugin nhỏ sử dụng trình biên dịch đóng của google để tránh giới hạn này : https://github.com/conmio/google-closure-compiler-resources –

Các vấn đề liên quan