how can I solve problem about internationalization in an bundle

I'm developing an bundle using nuxeo ide and have one messages.property for internationalization, but when I tried deploy my bundle on server, it shows this error:

    2012-01-26 12:50:47,327 ERROR [org.nuxeo.runtime.deployment.preprocessor.DeploymentPreprocessor] java.io.IOException: Could not create C:\nuxeo-cap-5.5-tomcat-sdk\nxserver\nuxeo.war\WEB-INF\classes\messages.properties
java.io.IOException: Could not create C:\nuxeo-cap-5.5-tomcat-sdk\nxserver\nuxeo.war\WEB-INF\classes\messages.properties
    at org.nuxeo.runtime.deployment.preprocessor.install.commands.AppendCommand.exec(AppendCommand.java:75)
    at org.nuxeo.runtime.deployment.preprocessor.install.CommandProcessorImpl.exec(CommandProcessorImpl.java:49)
    at org.nuxeo.runtime.deployment.preprocessor.DeploymentPreprocessor.predeploy(DeploymentPreprocessor.java:279)
    at org.nuxeo.runtime.deployment.preprocessor.DeploymentPreprocessor.predeploy(DeploymentPreprocessor.java:246)
    at org.nuxeo.runtime.deployment.preprocessor.DeploymentPreprocessor.main(DeploymentPreprocessor.java:565)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.nuxeo.runtime.tomcat.NuxeoDeployer.handleEvent(NuxeoDeployer.java:107)
    at org.nuxeo.runtime.tomcat.NuxeoDeployer.lifecycleEvent(NuxeoDeployer.java:53)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.io.IOException: El sistema no puede encontrar la ruta especificada
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)
    at org.nuxeo.runtime.deployment.preprocessor.install.commands.AppendCommand.exec(AppendCommand.java:73)

I'm working on windows 7 64bit, nuxeo 5.5, tomcat

0 votes

1 answers

2218 views

ANSWER



The failing code is new File("C:\nuxeo-cap-5.5-tomcat-sdk\nxserver\nuxeo.war\WEB-INF\classes\messages.properties").createNewFile();.
The first issue is it shouldn't fail at creating it. Could you check if the file exist, and if not, if you can manually create it?
The second issue I don't understand is it should not try to create the file but append into it… why isn't the file already existing..? Maybe your bundle is started to early: adding “” to the OSGI-INF/deployment-fragment.xml file will ensure it's deployed after the default translation files.

2 votes



Hi, thanks for your answer. About to: "The first issue is it shouldn't fail at creating it. Could you check if the file exist, and if not, if you can manually create it?", My answer is: the file exists. I solved the problem adding what you wrote me "<require>org.nuxeo.ecm.platform.lang</require>".

Now I have several questions: 1-why the console shows this error when I create a nuxeo plugin project and not when I create a Nuxeo WebEngine Project? 2-where can I find documentation about how to configure "deployment-fragment.xml" file?

01/26/2012

Maybe your WebEngine module is deployed after nuxeo-platform-lang, even without the require tag.<br> There are a lot of documentation about the "deployment-fragment.xml" file, depending on what it will be used for. For instance, How to translate Nuxeo. Maybe you will find more generic information in the Draft book or in the Old documentation.
01/27/2012