Package a Template in a jar
Hello, I am on Jdeveloper 11.1.2.2. I am creating adf applications with model and view controller projects. My question is about packaging files into jars for future use in other applications.
I created a template that has a login popup and java files that support the login. I packaged it and used the jar file in another project, but here is the issue: When I added the jar from the resource palette, a good portion of the packaged view controller was added to my new application.
In the first application I created, there was already a view controller, I added the jar using the resource palette with no problem. However, when I added a new jsf to the new application, I got an error about duplicate cpx page.
Duplicate cpx file
jar: file: c:/jdev/libraries/adflibSSFTemplate.jar!
/view/Databindings.cpx found in project classpath.
(as I debugged this, I moved the file into a uniquely named directory (I cannot refractor the databindings.cpx) , and renamed ALL of the files and other directories associated with the template files).
To fix this, I removed the entire view controller project and created a custom project, then used the resource palette to add the jar file. It added the following folders and files:
Application Sources
META-INF
adf-settings.xml
Web Content
WEB-INF
adfc-config.xml
faces-config.xml
trinadad-config.xml
web.xml
Page Flows
adfc-config
I added a jsf page to the project, and when creating the jsf, the template was listed. The jsf also was created with the template properly. After configuring security for the new application, I was able to log on successfully.
HOWEVER: Is this the best way to do it?
The documentation says to
1. Use unique names
2. Remove any artifacts that I don't need to use in a new project.
Before creating the jar file I removed the model project, and then packaged the entire view controller.
So here is what I am wondering about creating projects that I will eventually package:
1. Should I remove any directories and files that aren't part of my template and the login functionality? This would include files like the ones listed above (adfc-config.xml etc).
2. Should I rename the Project and all the files and directories, so I will be able to import the jar into a standard View Controller project in a new application?
3. Should I delete the template references from the databindings.cpx? So it won't conflict?
I deleted the databindings.cpx, and deployed, and it gave me an error in the deployment that there was a duplicate file, which would cause problems (first time I saw this error). From the file system I found two databindings.cpx files in the project and deleted it out. FINALLY when I deployed and added this to a new application, I no longer received the duplicate cpx file. However, did I do this correctly?_
Or is using the files that are imported when I add the jar file perfectly acceptable? In which case, I should just create custom projects for any new applications so I don't get errors about duplicate files when I import the jar.
Is there another way? I am worried about having more than one jar to import in a project, and then referencing multiple duplicate files.
Thank you!
Stuart
Edited by: Stuart Fleming on Nov 11, 2012 7:28 AM (I keep finding new lessons from various debugs)