cancel
Showing results for 
Search instead for 
Did you mean: 

Export MAM into .war

Former Member
0 Kudos

Hi,

I have imported MAM25.war into NWDS SP13 and made some changes, including to the project name.

I set up the NWDS so that when I export the project into a .war and flag the "Run the mobile application" option, it runs and my modifications work. However, if I unflag the option to generate a .war file, update it into WebConsole, remove all applications from my mobile device and assign this new created application into my mobile device, it downloads and installs the application but it won't work. It seems the classes aren't found. Unzipping the .war file I saw that the .class files aren't on their folders but are in the <application_name>.jar file under WEB-INF/lib.

First I thought it was a problem with the changes I made, so I tried with the standard files: I imported mam_eclipse.war into eclipse and exported the .war file without changing anything, and the problem still happens: the application won't have any .class file when running and the classes won't be found when running it.

So I have two questions:

-Is there any configuration to make NWDS export the .class files into their folder and not into a lib and what impact may it have in my project?

-Is there any configuration that might be missing in my project so that MAM will find the right files or the export of the mam_eclipse.war should work without any additional work?

Thanks,

Daniel

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Daniel,

If you are doing the uninstallation and deployment for

the same MCD name, it might not work as the uninstallation

will REMOVE the whole directory of your application.

Are you trying the registration your application for

the same application name (or MSD name)?

If it is, you don't have to re-deploy the application

again for you updates to get into effect. The deployment

only registers the application info (specifically the

Mobile Component Descriptor) into the client and downloads

the package. If you have this information in the client

then you're free to update you applications under the

<webapps> folder.

However, if had made changes into the metadata xml (i.e.

meRepMeta.xml), then you have to uninstall and redeploy

the package containing the metadata xml again...

Hope this help.

Regards

Jo

Former Member
0 Kudos

Hi,

The .war file seems to be complete now. All the .class files are there.

I uploaded the application (it was generated with a different project name) to WebConsole. Then I erased the standard MAM application from my MI and afterwards I even uninstalled and reinstalled MI. I assigned this application to my device through WebConsole.

It downloads and installs the application into MI but when I click on its link an error returns for <aaplication_name>/start (there's a line with NoClassDefFound, that's why I think there's some file or parameter I must change on the standard MAM application to reflect the change in application name).

Former Member
0 Kudos

hello daniel,

do you have any idea which class file is not found in

your classpath? if you have implemented your own front

servlet which extends AbstractMeHttpServlet, then you

have to make sure that your method getApplicationName()

should be returning the same string as with that of

your MCD name.

you might also need to edit your application's web.xml

to specify your servlet mapping.

regards

jg

Former Member
0 Kudos

We now can export the project into a .war successfully. We had to use the "Add JSP as compiled classes" option and then it works. The problem in doing so is that we can't export the project more than once - the second time we try to do it will return an error. So we have to import the whole project again, update it with our changes, test locally and then, when ready to update it into our test environment, generate the .war with compiled JSPs and importing all again...

Does anybody know why?

Thanks,

Daniel

Former Member
0 Kudos

hello daniel,

is the MI which you are testing you application with

stopped or has exited during the export?

jg

Answers (1)

Answers (1)

Former Member
0 Kudos

Actually, I just found the answer for the first question: I found the MI archive configuration where I unflagged the option to put the .class files into application.jar. Still, the classes don't seem to work right yet even on the standard application.

Thanks,

Daniel

Former Member
0 Kudos

Strange. The .class files of my applications ever reside in jar archive in the WEB-INF/lib folder, but I had never problems with it. I have even manually modified these files (I mean: Unpack, modify, pack again) and the modifications ever work.

Keep in mind only that the cache causes problems sometimes, so it's best to delete the whole cache (everything from <MI_Folder>/work) after updateing your application.

Cheers!