cancel
Showing results for 
Search instead for 
Did you mean: 

WD Project with external libs

Former Member
0 Kudos

Hello all,

we have a strange behaviour with a Webdynpro project using external jars inside the NWDI. Runtime Systems and NWDS are NW04 SPS19, NWDI is SPS21.

First of all, we created a separate SC containing each jar as external lib DC (jxl, jdom, jaxb, a.s.o) in its own track. Each external lib DC contains two public parts, one for assembly and one for compilation.

Also we defined a dependency between the libraries SC and our WD SC. So we transported the external lib SC into the WD SC track.

We added the external lib public parts (both assembly and compilation) to our WD SC. We started developing the WD DC using APIs from external lib DCs.

So far everythings works fine, but if i choose WD SC -> Web Dynpro -> Applications -> "Deploy new archive and run", the Web Dynpro application will be deployed without the external jars. Even if i choose "right klick" the WD SC and deploy afterwards, the external libs will not be deployed. Also the

If i choose only "right klick" the WD SC -> deploy everything works fine.

We used a test track before start developing our WD SC and there everthing as expected.

So any ideas what could be wrong?

Regards Oliver

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Maybe this weblog can help:

/people/raphael.vogel/blog/2008/05/05/how-to-use-external-libraries-in-the-sap-component-model-part-ii

Armin

snehal_kendre
Active Contributor
0 Kudos

HI Oliver,

SC`s are used to bundle the needed dependencies so that they can be used for refrence.

SC's must be deployed as a seperate, and if you used them into your DC then.

1. when you deploy the DC lib from SC's are not deployed at that time.

2. You have to deploy SC seperately. as application only refers to the lib from SC.

3. And the logical reason behind this is. If lib from SC's are deployed with DC, then when application runs on server it will crash. as it is ambigious to refer which lib...lib from SC of lib from DC.

Former Member
0 Kudos

Hello Snehal,

we configured our External Lib DCs to be assembled into our developments. Therefor we use a own track (SC) for the externel libs, which is defined as dependency in SLD.

This works well with Standalone Portal Application and also worked well in our WD Test development. Unfortunatly we have trouble in the WD productive development.

1. If i build and deploy on root node of WD application, external libs are assembled and deployed,

2. if i choose in WD project applications -> myapp -> "deploy new archive and run" the external libs are NOT assembled and deployed.

Another difference is on SDM on J2EE engine. If use method 1. on SDM in root/origin/setop/wd_bom i see the next node as track name "BRG_STPBOM_D". If use the 2. method, i see only "LOKAL".

Once i used the second method, i have to reimport the development configuration, or even the 1. method will not work anymore.

This looks like a bug in NWDS/NWDI to me, or maybe only a miss configuration, but i check anything i could think about with our test and produductive track and both are equal.

Right now we said our developers only to use the first method. But this could only be a workaround.

Regards Oliver

snehal_kendre
Active Contributor
0 Kudos

HI Oliver,

Its not a bug in NWDS.

its true that the option "deploy new archive and run" is not going to work on DC.

A DC has its own structure its not just application, but a bundle of resources. So if you want your application in DC to run, then you have to deploy entire DC. not just application.

If you are using the DC's then you methode 1 is only one option you have.

A WD appliction("which we used to deploy and run.. not the complete application") contains only windows and views.

So if you deployed only application from you DC. then it will act as Local and won't run.

note.:- dont use "deploy new archive and run" on DC.

2. deploy a complete DC on WAS. by defualt your application get expired..and then just refresh your application .you can see the changes