Build Ear: Ant vs workshop
Why is when I build from Ant I get a different EAR file from when I build my EAR from within Workshop? for example the web.xml is missing form the WEB-INF. I'm sure there are other things missing. Is it using a different target? What's the deal?
If you have got your jsp files precompiled, what to do next? Well, if all you want is to check your jsp files can be translated to classes, you are done. Otherwise, if you want oracle server to use the generated classes instead of the jsp files, then you need to
1. add the generated classes to WEB-INF/classes of the .war file or put them inside a jar in WEB-INF/lib. If you applied ojspc to a .war or .ear file, the generated classes are already packaged in the page/oracle_jsp*.jar of your .war file; all you need to do in this step is to move that jar to WEB-INF/lib.
2. change the init-param main_mode of JspServlet to justrun, in your web.xml.
3. optionally remove your jsp files since they will not be used by the server. One catch here: if you use a jsp file as a welcome file as designated in your web.xml, you have to keep that jsp.
4. repackage you .war file and then your .ear file.
If you deploy your .war or .ear file now, the server will use the generated classes directly. Note in justrun mode, you can do not any hot deployment of your jsps in this web application.
These steps are somehow missing from oracle documentation, although they can be figured out if one do understand the relevant concepts.
These steps are being written into ojspc code, so if you apply ojspc to a war or ear in the developer preview 4 or the product version of 10.1.3, both of which are not out yet, it will be easier to manage.
Hope I have said enough that you can get it done.
Similar Messages
-
Using Ant to Build EAR file with Various Configurations
Hi,
I figured that someone has come across this problem and would be able to help
I am simplifying the complexity of my problem for explanation purposes.
I have the followings WARs: product1.war, product2.war and product3.war where product1.war needs to be deployed with product2.war but product3.war is optional.
So I have them all building the ant script and have them all referenced in the application.xml and no problems.
However, sometimes I would like to build with product3.war and sometimes I would like to build without.
I know that I probably could do some work with if-conditions in the build.xml and maybe have two application.xml files and swap them in accordingly (if war is referenced in application.xml but does not exist in ear then ear will not deploy) BUT in reality I have 10 wars and more than just 1 dependency.
So I am looking for a nicer implementation strategy for having a configurable variety of ear contents and configurations.
Thanks for reading,
Katie Wright
[email protected]Maybe not the best place, but Ant IS one of the most popular build tools out there.
My take would be to have a single build file that is dynamically generated from a Java program, then fire off an exec command to the Ant script/bat/pl with an argument pointing to your build file.
You can call Ant this way more than once; I've had Ant return me a list of webapps from my versioning software that are displayed in a gui; user selects which ones to build, then a build file is created and Ant is called a second time. -
How to build ear files for ADF application using Ant task
How to build ear files for ADF applications using Ant. The ojdeploy ant task can not find application-level deployment profiles. I am trying to automated build and release for ADF application.
Any help is highly appreciated.
Thanks
ShivaHi Timo
Thanks for your reply.
I have successfully created ear file using ojdeploy on jenkins. however when am trying to auto deploy using WLDeploy ant task am getting the following
error :
weblogic.application.ModuleException: :oracle.mds.config.MDSConfigurationException:MDS-01335: namespace "/oracle/webcenter/quicklinks/scopedMD" mapped to metadata-store-usage "WebCenterFileMetadataStore" but its definition was not found in MDS configuration
Please advise how to handle this.
As am a newbie to ADF, could you please advise if it is possible for the ADF application deployments can be automated for different environments using jenkins due to this MDS dependencies.
Appreciate your help.
Thanks
Shiva -
When I exported ant build script out of workshop (it creates exported_build.xml),
and run the same script at command line I am getting the following error:
UNCAUGHT EXCEPTION IN JAVELIN COMPILER!
File a pri-1 bug on knex-compilerthread: Exclusive Thread error: com/bea/xml/marshall/SchemaTypeBuilder
stack: java.lang.NoClassDefFoundError: com/bea/xml/marshal/SchemaTypeBuilder
Any help is greatly appreciated.
Thanks, PrasadThe normal "exported_build.xml" file has two hardcoded paths, one for "weblogic.home", and one for "app.dir". If either one of these is invalid when checked out by CruiseControl, then the build will fail. From what you describe, it sounds like the "weblogic.home" value is invalid.
Noting this, I set up a build process in a "build.xml" script that generates a "transformed_build.xml" file from an XSLT stylesheet, which replaces the "weblogic.home" value with the value of "env.BEA_HOME", and replaces "app.dir" with ".". The "build.xml" then runs the "build" target from the "transformed_build.xml" file. -
Building Oracle ADF Applications Workshop
I have finished going through the "Building Oracle ADF Applications: Workshop"
from the following link:
http://www.oracle.com/technology/obe/obe9051jdev/ide1012/adfworkshop/buildingadfapplicationsworkshop.htm
Hopefully that is sufficient for the doc writer to locate the context of my
comments. If not, let me know and I'll provide additional information.
I grouped all of these together as one big comment. If you want it in a
different format, again, let me know.
Prior starting the workshop I printed out the entire document which resulted in
51 pages of output. In each comment, except for the first general comment, I
list the section name, step number and my page number which should be enough to
uniquely identify the area that the comment relates to. My suggestions start
out with "It would be nice...". I numbered the comments so I could have
comments refer to each other.
(1) One of the things I really liked was the "If you want to see a
demonstration of these steps, click here" links. Sometimes the discussion
was not precise so being able to see the actual usage worked well. It would
be nice if there were more of these in the workshop.
(2) "Building the Basic Page Flow", step 2, page 13.
I had some trouble with this because it wasn't clear how one changes the
DataPage's name. I used the property sheet and did it wrong, resulting in
an error. I had to consult the "If you what to see..." link to determine
how to do this correctly.
It would be nice if there were a paragraph before "When you are done"
saying something like:
To change the name of a DataPage just click on the icon's label and
enter the new value, starting with the leading slash.
(3) "Connecting the Pages", step 9, page 21.
This step has one switch to the Source editor view to make a change. This
change can also be made in the Design view.
It would be nice to stay in the Design view. The suggested wording for this
is:
In the Design view you can change the Edit button link by clicking on
the Edit button and pressing the left arrow (<--) key once on the
keyboard. The Property Inspector will be in an <A> element. Edit the
href property by appending the following:
&event=Edit
(4) "Connecting the Pages", step 10, page 22.
The first time I had trouble drawing the links. A bit more discussion on
how to draw the links with corners would be nice. One of the troubles was
that I would edit one link and another (or all of them) would suddenly
change to simple vertical links (no corners). The link lines were
separated, but the link names were displayed making it more difficult than
necessary to tell which link line went with which link name.
(5) "Adding a Create Function", step 4, page 24.
I have the same comment on this step as I did in comment (3).
(6) "Creating Session Variables with onEvent() methods", step 2, page 27.
The last paragraph describes how JDeveloper will prompt you to enter an
import statement. The comment I wrote on that page was:
Cool!
It's nice that JDeveloper handles this booking task.
(7) "Building a Message Stack with a findForward() method", step 1, page 28.
In the second paragraph it's not clear what the context is. It would be
nice if the second paragraph would start out with:
In struts-config.xml, right-click ...
(8) "Building a Message Stack with a findForward() method", step 6, page 30.
This code fragment at the end of this step has all lines starting in column
1. It would be nice if this was indented so it could be followed with less
effort. The same is true for the other code fragments in this section.
(9) "Building a Message Stack with a findForward() method", step 12, page 32.
I wrote a simple Java program that compared a String variable to a string
literal. In all cases using == to compare returned false, while .equals()
worked correctly. I was using Java 1.4.2_06_b03. Even if Java 1.5 supports
converting the == between strings to equals(), it would be nice if the
comparisons to the "type" variable used the .equals() method instead of ==,
so that those of us still using Java 1.4 would have properly working code.
Note that == in 1.4 compares the hash values while equals() looks at the
contents.
(10) "Enabling the Delete Confirmation Page", step 5, page 36.
The last sentence of the first paragraph contains the phrase:
if there are errors, build the ActionMessage object.
It would be nice if this contained an extra word as in:
if there are no errors, build the ActionMessage object.
(11) "Enabling the Delete Confirmation Page", step 6, page 36.
Line 12 (or 13 if you count blank lines) is storing a value in the request
object. It would be nice to have a discussion in this step instead of
having to wait until section "Intercepting the Middle-Tier Message", step
8, page 42 before we know what this is all about.
(12) "Overriding the findForward() Method", step 1, page 44.
It appears that the call to the super.findForward method is missing. It
would be nice if the following were inserted before the closing curly
brace:
super.findForward(actionContext);
(13) "Overriding the findForward() Method", step 9, page 46.
Near the end of this step it mentions the imports that are added. It
appears that there is a missing import statement. If this is correct, it
would be nice to also include the following import:
import oracle.adf.controller.struts.actions.DataActionContext;
(14) "Overriding the findForward() Method", step 10, page 46.
My diagram doesn't look like this. The "Edit" link between /browseCustomers
and /editCustomers should be "Commit". The "Cancel" link from
/editCustomers back to itself shouldn't be there. The "Commit" link from
/sure to /browseCustomers should be "Cancel". Compare this with the diagram
in section "Creating a Delete Confirmation Page and a Forward", step 5,
page 25.
(15) "Internationalizing Field Labels", step 3, page 48.
This is another case where the context is not clear. It would be nice if
the following was added to the first paragraph:
In the browseCustomers page,
(16) "Internationalizing Field Labels", step 10+, page 49.
Everything is internationalized except for the buttons. How does one
internationalize them?
(17) "Conditionally Displaying a Field", step 1, page 49.
The last sentence says "The result should look like the following:". If one
were following this workshop from front to back then what should be shown
is the internationalized version of this page.
(18) "Conditionally Displaying a Field", step 5, page 50. Bug?
When I look at the Source view of editCustomers.jsp the <INPUT> element has
a property setting of disabled="true". When I run the application and look
at the HTML source used by the browser, that same <INPUT> element has a
property setting of disabled="disabled". It works, but isn't that somewhat
redundant? I recommend that the source code should have the disabled
property setting as it appears in the Source view.Hi Jean,
Can you please provide the document part number and book title where you have seen this errors? This way I can forward this to the doc writer.
If this is not a document issue, please try the Members Feedback Forum. Community Feedback (No Product Questions)
Thanks -
Adding environment variable in build.xml(ANT)
Hi,
I need some information Regarding ANT,
the problem is i have to add a property file in build.xml (as a environment varialble) so that i can read it in my java code. as
System.getProperty("").
Please sugggest me how to set environment variable in build.xml(ANT)
Thanks
Edited by: fdfddf on Apr 7, 2008 3:20 PMHi Jakain, yep thanks for your information but my manager wants that way to do..
he wanted me to set property file as a environment file using build.xml as this property file changes dynamically..
can you suggest me -
How to build EAR of ATG project
Hi All,
I want to know how to build EAR for my atg project. I want to know how to build ear with out using assemblebuild.xml file. I read through the doc,and found that we can build ear using runAssembler which is located in D:\ATG\9.1\home\bin directory. how do i go about it.Please refer to ATG Programming guide for building EAR using runAssembler command.
If you want to build EAR by including your module:
runAssembler MyApp.ear –m MyApp DafEar.Admin
If you want to specify a Server for a Standalone EAR File:
runAssembler –standalone –server myServer MyApp.ear –m MyApp DSS
If you want to specify a Server for a Development-Mode EAR File:
runAssembler –server myServer MyApp.ear –m MyApp DSS -
Deploy a Workshop generated ear to non-Workshop Server
So I just started playing with WLW and created a Web Service in a couple hours. Now I want to deploy the generated .ear to another Weblogic server.
First I got this error on the deploy:
java.lang.NoClassDefFoundError: weblogic.servlet.wlwJSPServlet
...so I changed the reference in the weblogic.xml to weblogic.servlet.JSPServlet.
Now I get another error on the deploy:
java.lang.NoClassDefFoundError: com/bea/wlw/runtime/core/bean/SLSBContainerBean
...and I figure there are hooks all over this .ear for a Workshop Domain.
So my question is:
Is there a way (aside from packaging the whole thing myself) to get Workshop to generate an .ear that will just work on my non-Workshop Weblogic Server?So I just started playing with WLW and created a Web
Service in a couple hours. Now I want to deploy the
generated .ear to another Weblogic server.
First I got this error on the deploy:
java.lang.NoClassDefFoundError:
weblogic.servlet.wlwJSPServlet
...so I changed the reference in the weblogic.xml to
weblogic.servlet.JSPServlet.
Now I get another error on the deploy:
java.lang.NoClassDefFoundError:
com/bea/wlw/runtime/core/bean/SLSBContainerBean
...and I figure there are hooks all over this .ear
for a Workshop Domain.
So my question is:
Is there a way (aside from packaging the whole thing
g myself) to get Workshop to generate an .ear that
will just work on my non-Workshop Weblogic Server?Probably not... Check out the following on upgrading an existing domain to a workshop domain: http://e-docs.bea.com/workshop/docs81/doc/en/core/index.html -
Build EJB in Workshop that can build in Ant outside of EAR
In a project I work on, we have a directory structure that contains individual
components with their own build scripts. Some of these components construct ejb
jars as their output. We also have a separate component that uses the WLS Ant
tasks to construct an ear, pulling in the ejb-jars and other components built
from the other directories.
One person attempted to use Workshop to define the EJB classes to compose the
component. We were intending to use the WLS Ant tasks to compile those classes
into an ejb jar. What they found (and I'm afraid I don't know the particular
problems they had) was that the components buildable in Workshop have to be inside
an EAR directory structure. Apparently the WLS Ant tasks can't work outside of
that structure.
Has anyone else noticed this? Are there strategies for dealing with this?Check this URL : http://edocs.bea.com/wls/docs81/webserv/anttasks.html i found
there the way to do the ant task whit workshop.
Viviana
"David Karr" <[email protected]> wrote:
>
In a project I work on, we have a directory structure that contains individual
components with their own build scripts. Some of these components construct
ejb
jars as their output. We also have a separate component that uses the
WLS Ant
tasks to construct an ear, pulling in the ejb-jars and other components
built
from the other directories.
One person attempted to use Workshop to define the EJB classes to compose
the
component. We were intending to use the WLS Ant tasks to compile those
classes
into an ejb jar. What they found (and I'm afraid I don't know the particular
problems they had) was that the components buildable in Workshop have
to be inside
an EAR directory structure. Apparently the WLS Ant tasks can't work
outside of
that structure.
Has anyone else noticed this? Are there strategies for dealing with
this? -
Workshop close while building ear. Weblogic 8.1
Hi,
My workshop close in between while building the ear. I get new error file hs_err_pid.. as
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x7C80EEF0
Function=RtlUpperChar+0x5D
Library=C:\WINDOWS\system32\ntdll.dll
Current Java thread:
at java.util.zip.ZipFile.getEntry(Native Method)
at java.util.zip.ZipFile.getEntry(ZipFile.java:146)
- locked <0x11f0fb28> (a java.util.jar.JarFile)
at java.util.jar.JarFile.getEntry(JarFile.java:194)
at java.util.jar.JarFile.getJarEntry(JarFile.java:181)
at javelin.store.JarStore$Root.getEntry(JarStore.java:514)
at javelin.SourceProject.getBinaryEntry(SourceProject.java:702)
at javelin.SourceProject.findEntry(SourceProject.java:643)
at javelin.SourceProject$NamespaceContext.findEntry(SourceProject.java:2235)
at javelin.typeinfo.TypeNamespace.getMember(TypeNamespace.java:1318)
at javelin.typeinfo.SourcePackage.findMember(SourcePackage.java:164)
at javelin.typeinfo.SourcePackage.getMember(SourcePackage.java:114)
- locked <0x161d8188> (a javelin.typeinfo.SourcePackage)
at javelin.java.JavaScope._resolve(JavaScope.java:1053)
at javelin.java.JavaScope.resolve(JavaScope.java:707)
at javelin.java.JavaScope.resolve(JavaScope.java:671)
at javelin.java.JavaScope.resolveUserType(JavaScope.java:540)
at javelin.java.JavaChecker.checkImports(JavaChecker.java:251)
at javelin.java.JavaChecker.check(JavaChecker.java:169)
at javelin.work.WorkCheck.checkNode(WorkCheck.java:94)
at javelin.work.WorkCheck.check(WorkCheck.java:76)
at javelin.work.WorkCheck.run(WorkCheck.java:65)
at javelin.threading.WorkList.runItem(WorkList.java:500)
at javelin.threading.WorkItem.ensureComplete(WorkItem.java:103)
at javelin.work.WorkCompile.run(WorkCompile.java:65)
at javelin.threading.WorkList.runItem(WorkList.java:500)
at javelin.threading.WorkList$WorkerThread.run(WorkList.java:292)
Dynamic libraries:
0x00400000 - 0x0040B000 D:\bea\jdk142_05\jre\bin\javaw.exe
0x7C800000 - 0x7C8C0000 C:\WINDOWS\system32\ntdll.dll
0x77E40000 - 0x77F42000 C:\WINDOWS\system32\kernel32.dll
0x77F50000 - 0x77FEB000 C:\WINDOWS\system32\ADVAPI32.dll
0x77C50000 - 0x77CEF000 C:\WINDOWS\system32\RPCRT4.dll
0x76F50000 - 0x76F63000 C:\WINDOWS\system32\Secur32.dll
0x77380000 - 0x77411000 C:\WINDOWS\system32\USER32.dll
0x77C00000 - 0x77C48000 C:\WINDOWS\system32\GDI32.dll
0x77BA0000 - 0x77BFA000 C:\WINDOWS\system32\MSVCRT.dll
0x76290000 - 0x762AD000 C:\WINDOWS\system32\IMM32.DLL
0x08000000 - 0x08139000 D:\bea\jdk142_05\jre\bin\client\jvm.dll
0x76AA0000 - 0x76ACD000 C:\WINDOWS\system32\WINMM.dll
0x71BC0000 - 0x71BC8000 C:\WINDOWS\system32\rdpsnd.dll
0x771F0000 - 0x77201000 C:\WINDOWS\system32\WINSTA.dll
0x71C40000 - 0x71C97000 C:\WINDOWS\system32\NETAPI32.dll
0x76B70000 - 0x76B7B000 C:\WINDOWS\system32\PSAPI.DLL
0x10000000 - 0x10007000 D:\bea\jdk142_05\jre\bin\hpi.dll
0x00830000 - 0x0083E000 D:\bea\jdk142_05\jre\bin\verify.dll
0x00840000 - 0x00859000 D:\bea\jdk142_05\jre\bin\java.dll
0x00860000 - 0x0086D000 D:\bea\jdk142_05\jre\bin\zip.dll
0x03990000 - 0x03AA2000 D:\bea\jdk142_05\jre\bin\awt.dll
0x73070000 - 0x73097000 C:\WINDOWS\system32\WINSPOOL.DRV
0x77670000 - 0x777A9000 C:\WINDOWS\system32\ole32.dll
0x71B70000 - 0x71BA6000 C:\WINDOWS\system32\uxtheme.dll
0x03D10000 - 0x03D61000 D:\bea\jdk142_05\jre\bin\fontmanager.dll
0x4B3C0000 - 0x4B410000 C:\WINDOWS\system32\MSCTF.dll
0x75E60000 - 0x75E87000 C:\WINDOWS\system32\apphelp.dll
0x4DC30000 - 0x4DC5E000 C:\WINDOWS\system32\msctfime.ime
0x04870000 - 0x0488E000 D:\bea\jdk142_05\jre\bin\jpeg.dll
0x050A0000 - 0x050C3000 D:\bea\jdk142_05\jre\bin\cmm.dll
0x064F0000 - 0x06518000 D:\bea\weblogic81\workshop\ws_native.dll
0x77D00000 - 0x77D8B000 C:\WINDOWS\system32\OLEAUT32.dll
0x46A70000 - 0x46B40000 C:\WINDOWS\system32\WININET.dll
0x77DA0000 - 0x77DF2000 C:\WINDOWS\system32\SHLWAPI.dll
0x06520000 - 0x06529000 C:\WINDOWS\system32\Normaliz.dll
0x46300000 - 0x46345000 C:\WINDOWS\system32\iertutil.dll
0x71BB0000 - 0x71BB9000 C:\WINDOWS\system32\WSOCK32.dll
0x71C00000 - 0x71C17000 C:\WINDOWS\system32\WS2_32.dll
0x71BF0000 - 0x71BF8000 C:\WINDOWS\system32\WS2HELP.dll
0x77420000 - 0x77523000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.3790.3959_x-ww_D8713E55\comctl32.dll
0x068A0000 - 0x068AF000 D:\bea\jdk142_05\jre\bin\net.dll
0x068B0000 - 0x068B8000 D:\bea\jdk142_05\jre\bin\nio.dll
0x76CF0000 - 0x76D0A000 C:\WINDOWS\system32\iphlpapi.dll
0x76CD0000 - 0x76CE9000 C:\WINDOWS\system32\MPRAPI.dll
0x76DF0000 - 0x76E24000 C:\WINDOWS\system32\ACTIVEDS.dll
0x76DC0000 - 0x76DE8000 C:\WINDOWS\system32\adsldpc.dll
0x76F10000 - 0x76F3E000 C:\WINDOWS\system32\WLDAP32.dll
0x76B80000 - 0x76BAE000 C:\WINDOWS\system32\credui.dll
0x7C8D0000 - 0x7D0CF000 C:\WINDOWS\system32\SHELL32.dll
0x76A80000 - 0x76A98000 C:\WINDOWS\system32\ATL.DLL
0x76E30000 - 0x76E3C000 C:\WINDOWS\system32\rtutils.dll
0x7E020000 - 0x7E02F000 C:\WINDOWS\system32\SAMLIB.dll
0x770E0000 - 0x771E8000 C:\WINDOWS\system32\SETUPAPI.dll
0x71B20000 - 0x71B61000 C:\WINDOWS\System32\mswsock.dll
0x76ED0000 - 0x76EFA000 C:\WINDOWS\system32\DNSAPI.dll
0x76F70000 - 0x76F77000 C:\WINDOWS\System32\winrnr.dll
0x76F80000 - 0x76F85000 C:\WINDOWS\system32\rasadhlp.dll
0x5F270000 - 0x5F2CA000 C:\WINDOWS\system32\hnetcfg.dll
0x71AE0000 - 0x71AE8000 C:\WINDOWS\System32\wshtcpip.dll
0x777B0000 - 0x77833000 C:\WINDOWS\system32\CLBCatQ.DLL
0x77010000 - 0x770D6000 C:\WINDOWS\system32\COMRes.dll
0x77B90000 - 0x77B98000 C:\WINDOWS\system32\VERSION.dll
0x46350000 - 0x4691D000 C:\WINDOWS\system32\ieframe.dll
0x46B90000 - 0x46CB7000 C:\WINDOWS\system32\urlmon.dll
0x46D00000 - 0x47074000 C:\WINDOWS\system32\mshtml.dll
0x74490000 - 0x744B7000 C:\WINDOWS\system32\msls31.dll
0x74540000 - 0x745D3000 C:\WINDOWS\system32\MLANG.dll
0x744C0000 - 0x744EB000 C:\WINDOWS\system32\msimtf.dll
0x07FD0000 - 0x07FF2000 D:\bea\jdk142_05\jre\bin\dcpr.dll
0x461F0000 - 0x46267000 C:\WINDOWS\system32\mshtmled.dll
0x76C10000 - 0x76C38000 C:\WINDOWS\system32\imagehlp.dll
0x6D580000 - 0x6D628000 C:\WINDOWS\system32\dbghelp.dll
Heap at VM Abort:
Heap
def new generation total 10304K, used 3212K [0x10010000, 0x10b30000, 0x113c0000)
eden space 9216K, 23% used [0x10010000, 0x102230a0, 0x10910000)
from space 1088K, 100% used [0x10a20000, 0x10b30000, 0x10b30000)
to space 1088K, 0% used [0x10910000, 0x10910000, 0x10a20000)
tenured generation total 135676K, used 85773K [0x113c0000, 0x1983f000, 0x20010000)
the space 135676K, 63% used [0x113c0000, 0x167835a0, 0x16783600, 0x1983f000)
compacting perm gen total 34304K, used 34182K [0x20010000, 0x22190000, 0x24010000)
the space 34304K, 99% used [0x20010000, 0x221718a0, 0x22171a00, 0x22190000)
Local Time = Tue Apr 29 10:52:15 2008
Elapsed Time = 67546
# The exception above was detected in native code outside the VM
# Java VM: Java HotSpot(TM) Client VM (1.4.2_05-b04 mixed mode)
can anyone help what should I do for it.have a look at this link
http://edocs.bea.com/workshop/docs81/pdf/files/workshop/TheWebLogicWorkshopDevelopmentEnvironment.pdf -
Using workshop to build EAR successfully but deployment of the EAR fails.
Hi there,
i've developed an application using Weblogic workshop. And also, It's been working fine when using the workshop to deploy and test in exploded format.
When building the EAR using workshop, the ear file was built successfully without any errors. But, when it's deployed as an EAR, the deployment failed!
This is the error throwing out at the console:
Aug 2, 2004 9:13:14 PM GMT+08:00> <Warning> <Deployer> <BEA-149004> <Failures w
re detected while initiating Deploy task for application Rapid.>
Aug 2, 2004 9:13:14 PM GMT+08:00> <Error> <Deployer> <BEA-149201> <Failed to co
plete the deployment task with ID 0 for the application Rapid.
ava.lang.NoClassDefFoundError: com/bea/wlw/runtime/core/bean/SLSBContainerBean
at java.lang.ClassLoader.defineClass(Ljava.lang.String;[BIILjava.securit
.ProtectionDomain;)Ljava.lang.Class;(Unknown Source)
at java.security.SecureClassLoader.defineClass(Ljava.lang.String;[BIILja
a.security.CodeSource;)Ljava.lang.Class;(SecureClassLoader.java:123)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Ljava.l
ng.String;)Ljava.lang.Class;(GenericClassLoader.java:476)
at weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava.lang.S
ring;)Ljava.lang.Class;(GenericClassLoader.java:181)
at java.lang.ClassLoader.loadClass(Ljava.lang.String;Z)Ljava.lang.Class;
Unknown Source)
at java.lang.ClassLoader.loadClass(Ljava.lang.String;)Ljava.lang.Class;(
nknown Source)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(Ljava.lang.S
ring;)Ljava.lang.Class;(GenericClassLoader.java:223)
at weblogic.ejb20.deployer.EJBModule.setupEJBToImplClassDependencies(Lja
a.lang.ClassLoader;)V(EJBModule.java:1030)
at weblogic.ejb20.deployer.EJBModule.prepare(Ljava.lang.ClassLoader;)V(E
BModule.java:481)
And also, i notice that in the EAR file there is .workshop folder. will it cause any problem?
If the workshop deployed successfully in exploded format and application works properly, as well as generating the EAR file without any error, shouldn't the generated EAR file to be deployed without error?
Would anyone help up please?Did you deploy the application in a workshop enabled domain?
Hi there,
i've developed an application using Weblogic
workshop. And also, It's been working fine when
using the workshop to deploy and test in exploded
format.
When building the EAR using workshop, the ear file
was built successfully without any errors. But, when
it's deployed as an EAR, the deployment failed!
This is the error throwing out at the
console:
Aug 2, 2004 9:13:14 PM GMT+08:00> <Warning>
<Deployer> <BEA-149004> <Failures w
re detected while initiating Deploy task for
application Rapid.>
Aug 2, 2004 9:13:14 PM GMT+08:00> <Error> <Deployer>
<BEA-149201> <Failed to co
plete the deployment task with ID 0 for the
application Rapid.
ava.lang.NoClassDefFoundError:
com/bea/wlw/runtime/core/bean/SLSBContainerBean
at
at
at
t
java.lang.ClassLoader.defineClass(Ljava.lang.String;[B
IILjava.securit
.ProtectionDomain;)Ljava.lang.Class;(Unknown Source)
at
at
at
t
java.security.SecureClassLoader.defineClass(Ljava.lang
.String;[BIILja
a.security.CodeSource;)Ljava.lang.Class;(SecureClassLo
ader.java:123)
at
at
at
t
weblogic.utils.classloaders.GenericClassLoader.findLoc
alClass(Ljava.l
ng.String;)Ljava.lang.Class;(GenericClassLoader.java:4
76)
at
at
at
t
weblogic.utils.classloaders.GenericClassLoader.findCla
ss(Ljava.lang.S
ring;)Ljava.lang.Class;(GenericClassLoader.java:181)
at
at
at
t
java.lang.ClassLoader.loadClass(Ljava.lang.String;Z)Lj
ava.lang.Class;
Unknown Source)
at
at
at
t
java.lang.ClassLoader.loadClass(Ljava.lang.String;)Lja
va.lang.Class;(
nknown Source)
at
at
at
t
weblogic.utils.classloaders.GenericClassLoader.loadCla
ss(Ljava.lang.S
ring;)Ljava.lang.Class;(GenericClassLoader.java:223)
at
at
at
t
weblogic.ejb20.deployer.EJBModule.setupEJBToImplClassD
ependencies(Lja
a.lang.ClassLoader;)V(EJBModule.java:1030)
at
at
at
t
weblogic.ejb20.deployer.EJBModule.prepare(Ljava.lang.C
lassLoader;)V(E
BModule.java:481)
And also, i notice that in the EAR file there is
.workshop folder. will it cause any problem?
If the workshop deployed successfully in exploded
format and application works properly, as well as
generating the EAR file without any error, shouldn't
the generated EAR file to be deployed without error?
Would anyone help up please? -
Hello everyone,
I'm not sure if the title is proper, but I have a project to upgrade to weblogic 10, along with the upgrade I'm going to enhance the build files. Currently we have 450 ant file. There are many dependencies and all build files have hardcoded paths such "c:\sourcecode ...". Our application is about 6000000 lOC. Anyway, my job is to replace these paths with properties and change some old ant tasks.
You now imagine what I'm going to go through. Obviously, I need to edit 450 (can build tool for that) and do check in and out. Then test to make sure I didn't missed up with the dependency.
I'm no expert in ANT but we did some evaluation to ANT, Maven, Jam and we found ANT is the best fit for our environment because we have some structuring issues.
While working I have got this idea, however I'm not sure if it's the best, so I hope you can help here and give me your advice.
I will create a utilityBuild.xml. This ant file will contain the entire tasks we perform in all the 450. Rest of 450 ant will perform call to this utilityBuild.xml whenever it needs to do something e.g .
{color:#008000}<!-- Create Jar file of the classes in the ${tempdir} and then apply appc compilation on them-->{color}
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="appc"/>
Note: UTILITYBUILD = utilityBuild.xml
UtilityBuild.xml has this task as
{color:#008000}<!-- Perform weblogic.appc on the given Jar file to generate the Skeleton files -->{color}
<target name="appc" depends="jar.ejb" >
<java classname="weblogic.appc" fork="yes">
<sysproperty key="weblogic.home" value="${WL_HOME}"/>
<arg line="-compiler javac ${appdir}/${jarfile}"/>
<classpath>
<pathelement path="$classpath"/>
</classpath>
</java>
</target>
The {color:#ff0000}*benefit*{color} of doing this is {color:#ff0000}*if we decide to use wlcompile and wlappc instead of the above we only need to change one place utilityBuild.xml*{color} . I understand that I can make a custom ant task instead of relying on the properties that's passed when calling the child ant task.
{color:#0000ff}*For complete Source file* {color}
UtilityBuild.xml
<project name="SIMIS" basedir=".">
<!-- set global properties for this build -->
<property environment="env"/>
<property file="gosi.properties"/>
<target name="maketempdir" description="Create ${tempdir} directory">
<echo message="#### S T A R T B U I L D I N G ####"/>
<echo message="Started on ${TODAY} at ${TSTAMP}"/>
<mkdir dir="${tempdir}"/>
<mkdir dir="${tempdir}/META-INF"/>
<copy todir="${tempdir}/META-INF">
<fileset dir="${xmldir}">
<include name="*.xml"/>
</fileset>
</copy>
</target>
<!-- Clean all build related dirs, jars and xmls -->
<target name="cleantemp" description="Deletes ${build.dir}/** and ${dist.dir}/**." >
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${clientclasses}" includes="**/*EJB.class"/>
<fileset dir="${tempdir}" includes="**/*"/>
</delete>
<delete dir="${tempdir}"/>
<echo message="#### E N D B U I L D I N G ####"/>
</target>
<!-- Perform weblogic.appc on the given Jar file to generate the Skeleton files -->
<target name="appc" depends="jar.ejb" >
<java classname="weblogic.appc" fork="yes">
<sysproperty key="weblogic.home" value="${WL_HOME}"/>
<arg line="-compiler javac ${appdir}/${jarfile}"/>
<classpath>
<pathelement path="$classpath"/>
</classpath>
</java>
</target>
<target name="jar.ejb" >
<jar jarfile="${appdir}/${jarfile}"
basedir="${tempdir}" update="yes">
</jar>
</target>
<target name="javac">
<javac srcdir="${sourcedir}" destdir="${destinationdir}" includes="${include}" excludes="${exclude}" classpath="${classpath}" />
</target>
<target name="copy" description="copy contents to directory">
<copy todir="${todir}">
<fileset dir="${fromdir}">
<include name="${include}"/>
<exnclude name="${exclude}"/>
</fileset>
</copy>
</target>
<target name="clean" description="clean contents of directory">
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${cleandir}" includes="${include}" excludes="${exclude}"/>
</delete>
</target>
<target name="delete" description="delete entire directory">
<delete dir="${deletedir}"/>
</target>
<!-- deploy split directory application -->
<target name="deploy"
description="Deploy ear to WebLogic on ${wls.hostname}:${wls.port}.">
<wldeploy
user="${wls.username}"
password="${wls.password}"
adminurl="t3://${wls.hostname}:${wls.port}"
debug="true"
action="deploy"
source="${appdir}/${jarfile}"
failonerror="${failondeploy}"/>
</target>
</project>
CMN_Core_Session.xml (one of the 450 files)
<project name="default" default="build">
<!-- Specific Properties to this file. Please don't change these names, because it has been used by the ${UTILITYBUILD} -->
<property file="../gosi.properties"/>
<property name="srcdir" value="${SOURCE_CODE}/gosi/core"/>
<property name="xmldir" value="${SOURCE_CODE}/gosi/core/projects/session"/>
<property name="jarfile" value="CMN_Session.jar"/>
<!-- Main build task for this ant file -->
<target name="build" description="Builds components.">
<!-- Create Temp folders and copy the deployment descriptor their -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="maketempdir"/>
<!-- Compile the java classes in to ${clientclasses} -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="javac">
<property name="sourcedir" value="${srcdir}"/>
<property name="destinationdir" value="${clientclasses}"/>
<property name="include" value="**/*Session.java,**/*SessionHome.java"/>
<property name="exclude" value="**/*MaintainDateChangeSession.java,**/*MaintainDateChangeSessionEJB.java,**/*MaintainDateChangeSessionHome.java,**/*MaintainHolidaysSession.java,**/*MaintainHolidaysSessionEJB.java,**/*MaintainHolidaysSessionHome.java,**/*StartupUtilitySession.java,**/*StartupUtilitySessionEJB.java,**/*StartupUtilitySessionHome.java,**/UserSession.java"/>
</ant>
<!-- Compile the java classes again in to ${tempdir} this folder will be used to create the Jar file -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="javac">
<property name="sourcedir" value="${srcdir}"/>
<property name="destinationdir" value="${tempdir}"/>
<property name="include" value="**/*Session.java,**/*SessionHome.java,**/*SessionEJB.java"/>
<property name="exclude" value="**/*MaintainDateChangeSession.java,**/*MaintainDateChangeSessionEJB.java,**/*MaintainDateChangeSessionHome.java,**/*MaintainHolidaysSession.java,**/*MaintainHolidaysSessionEJB.java,**/*MaintainHolidaysSessionHome.java,**/*StartupUtilitySession.java,**/*StartupUtilitySessionEJB.java,**/*StartupUtilitySessionHome.java,**/UserSession.java"/>
</ant>
<!-- Create Jar file of the classes in the ${tempdir} and then apply appc compilation on them-->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="appc"/>
<!-- Remove all file in ${tempdir} -->
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="cleantemp"/>
</ant>
</target>
<!-- Main deploy task for this ant file -->
<target name="deploy" description="Deploy the components">
<ant inheritAll="true" dir="${ROOT}" antfile="${UTILITYBUILD}" target="deploy"/>
</ant>
</target>
</project>
gosiProperties file
### Build Files Properties File ###
-- Configure the global properties for the ant build files
-- You may need to change this section to match your machine
BEA_HOME=C:/bea
SIMIS_DOMAIN=${BEA_HOME}/gosiprojects/server/simis
WL_HOME=${BEA_HOME}/wlserver_10.0/server
JAVA_HOME=${BEA_HOME}/jdk150_06
SOURCE_CODE=C:/sourcecode
ROOT=${SOURCE_CODE}/build_files
UTILITYBUILD=UtilityBuild.xml
-- Here we set the JARs directory and server and client classes
appdir=${SIMIS_DOMAIN}/applications
tempdir=${SIMIS_DOMAIN}/classes
clientclasses=${SIMIS_DOMAIN}/clientclasses
serverclasses=${SIMIS_DOMAIN}/serverclasses
web-inf=${appdir}/GOSI/WEB-INF/classes
startup=${appdir}/StartUp/WEB-INF/classes
-- Set the ClassPath for the ant tool
classpath=${JAVA_HOME}/lib/tools.jar;${WL_HOME}/lib/weblogic.jar;${WL_HOME};${SIMIS_DOMAIN}/APP-INF/lib/CMN_DMS_WS_RequestClient.jar;
Thanks and regards
Edited by: Nawaf on Mar 9, 2008 8:18 AMAny idea, I'm looking for your opinion, what do you think of the above
-
Hi all,
For some reason i get the following error message when trying to build any of the code in the j2ee tutorial.
C:\WINDOWS\system32\ntvdm.exe
Error while setting up environment for the application. Choose 'close' to terminate the application
If anyone has any ideas as to why this happens, any help would be much appreciated.
thanksi'm using windows xp pro. i have actually sorted that problem out by replacing ant 1.3 with ant 1.5
I now have another error message. When i try to run the application client with the foolowing command:
C:\forte4j\j2sdkee1.3\bin>runclient client \examples\ears\SavingsAccountApp.ear -name SavingsAccountClient -textauth
I get the following
Initiating login ...
Username = null
Enter Username:guest
Enter Password:guest123
Binding name:`java:comp/env/ejb/SimpleSavingsAccount`
Application threw an exception:java.lang.NoClassDefFoundError: SavingsAccountHome
Unbinding name:`java:comp/env/ejb/SimpleSavingsAccount`
Not sure why i am getting the exception. -
Hi ,
I have an integration application developed on windows.I want to create an EAR from the same source on Linux.I have copied the source maintaining the folder hierarchy and updated the build.xml to suite Linux machine properties(app path,server classpath etc). However I get Buildfile: build.xml
build:
[wlwBuild] Unknown option: -XX:-UseThreadPriorities.
[wlwBuild] Could not create the Java virtual machine.
BUILD FAILED
file:/home/build/cvs/build.xml:61: Java returned 1
This being a known issue we applied a patch provided by BEA (CR137384_81sp2.jar) but we still get the same error.
Appreciate any help.
Thanks,
VishvjitHi,
I am building the ear using ant script and not the worskshop.
Initially I placed the patch jar file in the same folder with build.xml and put first reference to it as ./CR137384_81sp2.jar.When this did not work I put the patch in jre/lib folder and provided full path of it in server.classpath property.Still getting same error.
It appears that the patch is not been applied as we continue to get same error but why it is not taking effect is a mystery.
Thanks for your help.
Vishvjit -
Building EAR for WebLogic 8.1 with Eclipse plugin
I am developing an EJB app for deployment in WebLogic, JBoss and Sun ONE. I use plugins for JBoss and Sun ONE, with the help of XDoclet, and have no problem creating the required XML and JAR files. However, the WebLogic Workshop creates many files, like oztplsEOImpl.java, oztp1sHomeImpl.java, Hello_oztp1s_EOImplRTD.xml and many others, while the Eclipse plugin only creates the Home and Remote interface .java files, and the prerequisite .xml files (ejb-jar.xml, weblogic-ejb-jar.xml, and weblogic-cmp-rdbms-jar.xml).
Why is that? And how can I build/package the EAR file from within Eclipse, without using WebLogic tools? I am trying to maintain a single codebase, with multiple XDoclet tags to create the appropriate interfaces and XML files. So far, I could achieve this for JBoss and Sun ONE, but it seems to be impossible for WebLogic.
Thanks for any enlightenment.
Alex MolochnikovIt is quite easy to rewrite the plugin to work with 8.1
We have done so - please contact me if you want the plugin.
Sincerely,
Paul Nyheim
"HOs" <[email protected]> wrote in message
news:3f72ce93$[email protected]..
>
Hi,
how can I debug my weblogic 8.1 application ?
I`m using eclipse, but the plugin I´ve got, is only for versions 6.x and7.0 .
So I tried remote debugging but eclipse could not connect to the VM, I donot
know why.
Any ideas ??
Thanks
Holger
Maybe you are looking for
-
Question about moving music from an iPod to your computer.
In my household, we have iTunes on three different computers. My mother downloaded music on my brother's computer, and it's on his library. We want to burn a cd with the purchased album, but his computer does not have a cd burner, but the other two d
-
I have an Apple TV (2nd gen) along with a macbook pro, iphone 5s and iPad. Problem I'm having is i cannot airplay wirelessly, none of the devices recognise the Apple TV when wireless(so no airplay, mirroring or home sharing). The only device that r
-
My Macbook Pro hard drive is failing and I have it booted off of an iMac. I was able to drag and drop my other files off of the macbook's hard drive and onto the imac, but I can't find my iphoto pictures and the macbook's iPhoto library won't boot vi
-
Activating User Menu option in SAP Easy Access Screen
Hi, Can anyone tell me to activate User Menu in SAP Easy Access screen. Menu -> User Menu option is disabled. Is there any Profile Paramater to Enable or Disable this menu option? Thanks, Piyush
-
Problem with html link in my jsp----Not showing
Hii frnd ,i m trying to put a <hhtml:link> tag in my jsp , the tag is not showing up. Wht can be the possible reason for tht.