<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkEAQ3o6fSp7ImA9WhRUEEU.&quot;"><id>tag:blogger.com,1999:blog-13556721</id><updated>2012-01-21T05:07:22.415+10:30</updated><category term="JPA" /><category term="jdbc" /><category term="turner" /><category term="devx" /><category term="web" /><category term="classloading" /><category term="events" /><category term="mtb" /><category term="DataSource" /><category term="Bean Validation" /><category term="standalone" /><category term="WebLogic Server" /><category term="JAX-RPC" /><category term="ejb" /><category term="Derby" /><category term="AJUG" /><category term="Java SE 7" /><category term="Mac OS X" /><category term="domain" /><category term="performance" /><category term="jmx" /><category term="EC2" /><category term="Cloud" /><category term="12c" /><category term="wls" /><category term="apache" /><category term="debug" /><category term="xml" /><category term="jsf" /><category term="xsd" /><category term="security" /><category term="VI" /><category term="Web Services" /><category term="schema" /><category term="remote" /><category term="Logging" /><category term="NetBeans. JSF" /><category term="jax-rs" /><category term="jsp" /><category term="NetBeans" /><category term="Java" /><category term="OPMN" /><category term="XCode" /><category term="dms" /><category term="oc4j" /><category term="groovy" /><category term="Maven" /><category term="EclipseLink" /><category term="CAT" /><category term="weblogic" /><category term="zip" /><title>The Buttso Blathers</title><subtitle type="html">&lt;b&gt;Interrupt Driven Posting&lt;/b&gt; ... When I think of something to write, I'll write it.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://buttso.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>171</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TheButtsoBlathers" /><feedburner:info uri="thebuttsoblathers" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>-34.929</geo:lat><geo:long>138.601</geo:long><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><entry gd:etag="W/&quot;CUYGQnk5cSp7ImA9WhRQFks.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-4031653079409608191</id><published>2011-12-12T14:42:00.000+10:30</published><updated>2011-12-12T14:42:03.729+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-12T14:42:03.729+10:30</app:edited><title>WebLogic Server 12c - Identifying versions of modules, libraries, frameworks</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
Now that WebLogic Server 12c has been released, it's interesting to look at the various libraries, modules and open-source frameworks it uses.&lt;br /&gt;
&lt;br /&gt;
One approach to doing this is to use the wls-cat utility to search for a known class from the framework, module or open-source framework you are interested in looking at, and observing where the class is loaded from and the corresponding library version.&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;JavaServer Faces&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
One important item to note here is that as of the WebLogic Server 12c release, the JSF implementation has been added directly to the WebLogic Server classpath.&amp;nbsp; This is a change from the WebLogic Server 11g release where the JSF implementation was provided as an optional shared-library, which needed to be deployed in order for applications to use JSF.&amp;nbsp; With WebLogic Server 12c, JSF is now an integral part of the server and can be used without the necessity of deploying and referencing the shared-library.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;javax.faces.webapp.FacesServlet: &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="1" src="http://2.bp.blogspot.com/-m3y33Y0_pks/TuV308ldGdI/AAAAAAAAAVc/rDIUoSKCVC8/s1600/Screen+shot+2011-12-12+at+1.59.04+PM.png" style="border: 1px solid black;" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;com.sun.faces.facelets.Facelet:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4ZUVp5-5WQs/TuV3tMoImdI/AAAAAAAAAVU/SBNAkKOg5mc/s1600/Screen+shot+2011-12-12+at+2.07.02+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="1" src="http://3.bp.blogspot.com/-4ZUVp5-5WQs/TuV3tMoImdI/AAAAAAAAAVU/SBNAkKOg5mc/s1600/Screen+shot+2011-12-12+at+2.07.02+PM.png" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;Using:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;JSF 2.1&lt;/li&gt;
&lt;li&gt;Mojarra 2.1.5&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Java Persistence API / EclipseLink&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;javax.persistence.Entity:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-9XchSscp2M0/TuV6vPrHJlI/AAAAAAAAAV8/BLFXd-1I4m8/s1600/Screen+shot+2011-12-12+at+2.21.50+PM.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-9XchSscp2M0/TuV6vPrHJlI/AAAAAAAAAV8/BLFXd-1I4m8/s1600/Screen+shot+2011-12-12+at+2.21.50+PM.png" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;org.eclipse.persistence.jpa.JpaEntityManager:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-kCA1CiodyxM/TuV4ioKUPeI/AAAAAAAAAVk/nbR-XFx-5pg/s1600/Screen+shot+2011-12-12+at+2.06.45+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="1" src="http://4.bp.blogspot.com/-kCA1CiodyxM/TuV4ioKUPeI/AAAAAAAAAVk/nbR-XFx-5pg/s1600/Screen+shot+2011-12-12+at+2.06.45+PM.png" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;Using:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;JPA 2.0&lt;/li&gt;
&lt;li&gt;EclipseLink 2.3&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Context and Dependency Injection/Weld&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;javax.enterprise.inject.Model:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-lmvehSC7Eas/TuV8B7k4FeI/AAAAAAAAAWE/6D0c9eoPP-E/s1600/Screen+shot+2011-12-12+at+2.28.32+PM.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-lmvehSC7Eas/TuV8B7k4FeI/AAAAAAAAAWE/6D0c9eoPP-E/s1600/Screen+shot+2011-12-12+at+2.28.32+PM.png" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;org.jboss.weld.Container:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FnZm2JCbfUU/TuV5R5mwjpI/AAAAAAAAAVs/GCBZSVd1iuI/s1600/Screen+shot+2011-12-12+at+2.07.50+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-FnZm2JCbfUU/TuV5R5mwjpI/AAAAAAAAAVs/GCBZSVd1iuI/s1600/Screen+shot+2011-12-12+at+2.07.50+PM.png" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;Using:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;CDI 1.0&lt;/li&gt;
&lt;li&gt;Weld 1.1.3-SP1&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;SLF4J&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;org.slf4j.Logger:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-UmZagf-EPVs/TuV5q4o1gjI/AAAAAAAAAV0/1WPLzTLF4jU/s1600/Screen+shot+2011-12-12+at+2.07.22+PM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-UmZagf-EPVs/TuV5q4o1gjI/AAAAAAAAAV0/1WPLzTLF4jU/s1600/Screen+shot+2011-12-12+at+2.07.22+PM.png" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;Using:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;SLF4J 1.6.1&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-4031653079409608191?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RufUw7zFCdpEU6GJzoInnsHgmvk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RufUw7zFCdpEU6GJzoInnsHgmvk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RufUw7zFCdpEU6GJzoInnsHgmvk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RufUw7zFCdpEU6GJzoInnsHgmvk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=Fke2hqK4Cec:tGbLLc4gQFU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/Fke2hqK4Cec" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/4031653079409608191/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=4031653079409608191&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/4031653079409608191?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/4031653079409608191?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/Fke2hqK4Cec/weblogic-server-12c-identifying.html" title="WebLogic Server 12c - Identifying versions of modules, libraries, frameworks" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-m3y33Y0_pks/TuV308ldGdI/AAAAAAAAAVc/rDIUoSKCVC8/s72-c/Screen+shot+2011-12-12+at+1.59.04+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/12/weblogic-server-12c-identifying.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8HR3c-eSp7ImA9WhRQFkg.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-7187222536454221950</id><published>2011-12-12T10:42:00.001+10:30</published><updated>2011-12-12T13:30:36.951+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-12T13:30:36.951+10:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><category scheme="http://www.blogger.com/atom/ns#" term="12c" /><title>WebLogic Server 12c - Maven Usage Notes</title><content type="html">&lt;style&gt;
&lt;!--
 /* Font Definitions */
@font-face
 {font-family:Calibri;
 panose-1:2 15 5 2 2 2 4 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:Cambria;
 panose-1:2 4 5 3 5 4 6 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:"Lucida Grande";
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
 {mso-style-parent:"";
 margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
h1
 {mso-style-link:"Heading 1 Char";
 mso-style-next:Normal;
 margin-top:24.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan lines-together;
 page-break-after:avoid;
 mso-outline-level:1;
 font-size:16.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#345A8A;
 mso-font-kerning:0pt;
 mso-ansi-language:EN-US;
 mso-bidi-font-weight:bold;}
h2
 {mso-style-link:"Heading 2 Char";
 mso-style-next:Normal;
 margin-top:10.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan lines-together;
 page-break-after:avoid;
 mso-outline-level:2;
 font-size:13.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#4F81BD;
 mso-ansi-language:EN-US;
 mso-bidi-font-weight:bold;}
h3
 {mso-style-link:"Heading 3 Char";
 mso-style-next:Normal;
 margin-top:10.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan lines-together;
 page-break-after:avoid;
 mso-outline-level:3;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#4F81BD;
 mso-ansi-language:EN-US;
 mso-bidi-font-weight:bold;}
h4
 {mso-style-noshow:yes;
 mso-style-link:"Heading 4 Char";
 mso-style-next:Normal;
 margin-top:10.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan lines-together;
 page-break-after:avoid;
 mso-outline-level:4;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#4F81BD;
 mso-ansi-language:EN-US;
 mso-bidi-font-weight:bold;
 font-style:italic;}
p.MsoToc1, li.MsoToc1, div.MsoToc1
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:6.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 color:#548DD4;
 mso-ansi-language:EN-US;
 font-weight:bold;
 mso-bidi-font-weight:normal;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoToc3, li.MsoToc3, div.MsoToc3
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:12.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;
 font-style:italic;
 mso-bidi-font-style:normal;}
p.MsoToc4, li.MsoToc4, div.MsoToc4
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:24.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoToc5, li.MsoToc5, div.MsoToc5
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:36.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoToc6, li.MsoToc6, div.MsoToc6
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:48.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoToc7, li.MsoToc7, div.MsoToc7
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:60.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoToc8, li.MsoToc8, div.MsoToc8
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:72.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoToc9, li.MsoToc9, div.MsoToc9
 {mso-style-update:auto;
 mso-style-next:Normal;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:84.0pt;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
a:link, span.MsoHyperlink
 {mso-style-noshow:yes;
 color:blue;
 text-decoration:underline;
 text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
 {mso-style-noshow:yes;
 color:purple;
 text-decoration:underline;
 text-underline:single;}
p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
 {mso-style-noshow:yes;
 mso-style-link:"Document Map Char";
 margin:0cm;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:"Lucida Grande";
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:"Lucida Grande";
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
 {margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:36.0pt;
 margin-bottom:.0001pt;
 mso-add-space:auto;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
 {mso-style-type:export-only;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:36.0pt;
 margin-bottom:.0001pt;
 mso-add-space:auto;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
 {mso-style-type:export-only;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:36.0pt;
 margin-bottom:.0001pt;
 mso-add-space:auto;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
 {mso-style-type:export-only;
 margin-top:0cm;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:36.0pt;
 margin-bottom:.0001pt;
 mso-add-space:auto;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Cambria;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-ansi-language:EN-US;}
p.MsoTocHeading, li.MsoTocHeading, div.MsoTocHeading
 {mso-style-parent:"Heading 1";
 mso-style-next:Normal;
 margin-top:24.0pt;
 margin-right:0cm;
 margin-bottom:0cm;
 margin-left:0cm;
 margin-bottom:.0001pt;
 line-height:115%;
 mso-pagination:widow-orphan lines-together;
 page-break-after:avoid;
 font-size:14.0pt;
 font-family:"Times New Roman";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#365F91;
 mso-ansi-language:EN-US;
 font-weight:bold;}
span.Heading1Char
 {mso-style-name:"Heading 1 Char";
 mso-style-locked:yes;
 mso-style-link:"Heading 1";
 mso-ansi-font-size:16.0pt;
 mso-bidi-font-size:16.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#345A8A;
 font-weight:bold;}
span.Heading2Char
 {mso-style-name:"Heading 2 Char";
 mso-style-locked:yes;
 mso-style-link:"Heading 2";
 mso-ansi-font-size:13.0pt;
 mso-bidi-font-size:13.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#4F81BD;
 font-weight:bold;}
span.Heading3Char
 {mso-style-name:"Heading 3 Char";
 mso-style-locked:yes;
 mso-style-link:"Heading 3";
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#4F81BD;
 font-weight:bold;}
span.Heading4Char
 {mso-style-name:"Heading 4 Char";
 mso-style-noshow:yes;
 mso-style-locked:yes;
 mso-style-link:"Heading 4";
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:major-latin;
 mso-fareast-font-family:"Times New Roman";
 mso-fareast-theme-font:major-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:major-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:major-bidi;
 color:#4F81BD;
 font-weight:bold;
 font-style:italic;}
span.DocumentMapChar
 {mso-style-name:"Document Map Char";
 mso-style-noshow:yes;
 mso-style-locked:yes;
 mso-style-link:"Document Map";
 font-family:"Lucida Grande";
 mso-ascii-font-family:"Lucida Grande";
 mso-hansi-font-family:"Lucida Grande";}
@page Section1
 {size:612.0pt 792.0pt;
 margin:72.0pt 90.0pt 72.0pt 90.0pt;
 mso-header-margin:36.0pt;
 mso-footer-margin:36.0pt;
 mso-paper-source:0;}
div.Section1
 {page:Section1;}
 /* List Definitions */
@list l0
 {mso-list-id:713238905;
 mso-list-type:hybrid;
 mso-list-template-ids:-1250103180 67698711 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
 {mso-level-number-format:alpha-lower;
 mso-level-text:"%1\)";
 mso-level-tab-stop:none;
 mso-level-number-position:left;
 margin-left:18.0pt;
 text-indent:-18.0pt;}
ol
 {margin-bottom:0cm;}
ul
 {margin-bottom:0cm;}
--&gt;
&lt;/style&gt;       &lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b&gt;Note: apologies for the formatting, this posting was a  cut and paste from a .docx document and thus has all the styles  inlined.&amp;nbsp;&amp;nbsp; In the interests of time, I thought it was better to just post it as-is and make it available, rather than try and reformat it.&amp;nbsp; Which I know I'd keep pushing off  until eternity.&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This document provides a short overview of installing, configuring and using the new wls-maven-plugin provided in WebLogic Server 12c. &lt;/div&gt;&lt;h2 style="color: #0b5394;"&gt;&lt;span style="color: #0b5394;"&gt;Convention Over Configuration&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;With the wls-maven-plugin:12.1.1.0 we have followed the theme of Maven and used a convention-over-configuration approach.&amp;nbsp; This means that for a set of the commonly used configuration elements, we have adopted a sensible, consistent set of default values that can be used across all of the goals.&amp;nbsp; This reduces the amount of configuration necessary to use the plugin and helps achieve uniform goal executions, even in different environments.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The common configuration elements are:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;middlewareHome&lt;/b&gt;: ${project.basedir}/Oracle/Software&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;weblogicHome&lt;/b&gt;: “wlserver” or “wlserver_12.1”, depending on the install type &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;domainHome&lt;/b&gt;: ${project.basedir}/Oracle/Domains&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;source:&lt;/b&gt; &lt;span lang="EN-US"&gt;${project.build.directory}/${project.build.finalName}.${project.packaging}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;adminurl&lt;/b&gt;: t3://localhost:7001&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;While these configuration parameters have default values, they can all be overridden in a pom.xml file or on the command line as need be.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;However by having them be sensible defaults, they can be left out of a configuration section and used consistently across all of the goals.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;As an example, it’s possible to issue the following commands that all use the same WLS installation and domain without specifying any repetitive values:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;$ wls:install -&lt;br /&gt;
DartifactLocation=/Users/sbutton/Downloads/wls/wls_1211/wls1211_dev.zip&lt;/div&gt;&lt;div class="MsoNormal"&gt;$ wls:create-domain –Duser=weblogic –Dpassword=welcome1&lt;/div&gt;&lt;div class="MsoNormal"&gt;$ wls:start-server&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="color: #0b5394;"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;Installing the Plugin&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;For WLS 12c, the wls-maven-plugin is provided as a pre-built jar file and the &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;accompanying pom.xml file is also provided as an easily accessible file in the same directory.&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;$MW_HOME/wlserver/server/lib/wls-maven-plugin.jar&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;$MW_HOME/wlserver/server/lib/pom.xml&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The wls-maven-plugin is installed using the following commands:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;$ cd $MW_HOME/wlserver/server/lib&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;$ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn install&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;$ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn install:install-file –Dfile=wls-maven-plugin.jar –DpomFile=pom.xml&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The default pom.xml file now has the required setting to enable the use of the “wls” goal prefix enabled by default.&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;To use the “wls” goalPrefix, you will need to edit the Maven settings.xml file and add the following entry:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;lt;pluginGroups&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pluginGroup&amp;gt;com.oracle.weblogic&amp;lt;/pluginGroup&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;lt;/pluginGroups&amp;gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Once you have installed the plugin, you can very simply validate it using the wls:help goal. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;$ mvn wls:help&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;This goal does not require a project or pom.xml and will display the list of goals available in the wls-maven-plugin if the plugin has been successfully installed.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="color: #0b5394;"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;Basic Configuration of Plugin&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Below is an example of a basic Java EE 6 Web Application pom.xml file that enables the use of the wls-maven-plugin.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;demo.sab&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;maven-demo&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;packaging&amp;gt;war&amp;lt;/packaging&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;maven-demo&amp;lt;/name&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;properties&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;endorsed.dir&amp;gt;${project.build.directory}/endorsed&amp;lt;/endorsed.dir&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/properties&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependencies&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;javax&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;javaee-web-api&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;6.0&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependencies&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;build&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;plugins&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- WebLogic Server 12c Maven Plugin --&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;b&gt;&amp;lt;plugin&amp;gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;  &lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;  &lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;  &lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;  &lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/plugins&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/build&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;/project&amp;gt;&lt;/div&gt;&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;Install&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;This goal installs WLS into a local directory to enable it to be used execute the other goals, as well as a installation to create a WLS domain that can be used to deploy and test the application represented as the Maven project.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;To install, you need a distribution to install.&amp;nbsp; This is specified using the &amp;lt;artifactLocation&amp;gt; configuration element in the wls-maven-plugin section of the pom.xml, or specify it using the –DartifactLocation property when Maven is invoked.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The target directory for the installation is specified using the optional weblogicHome configuration element.&amp;nbsp; This is set to ${basedir}/Oracle/Software by default.&amp;nbsp; Specifying a &amp;lt;middlewareHome&amp;gt; value will direct the install to be performed in the specified location.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;I will focus on the zip distribution since it reflects a development usage model.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The location of the zip distribution can be specified as one of the following:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 18.0pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;"&gt;&lt;span lang="EN-US"&gt;a)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;local file reference&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;For a local file reference, you specify the path on the local file system&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;!-- WebLogic Server 12c Maven Plugin --&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactLocation&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/Users/sbutton/Downloads/wls/wls_1211/wls1211_dev.zip&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/artifactLocation&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The execution of the wls:install goal is shown below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ mvn wls:install&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Scanning for projects...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Building maven-demo 1.0-SNAPSHOT&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:install (default-cli) @ maven-demo ---&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ++====================================================================++&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: install&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ++====================================================================++&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Installing /Users/sbutton/Downloads/wls/wls_1211/wls1211_dev.zip into /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Software&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Installing the product, this may take some time.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Executing: [cmd:[/bin/bash, -c, chmod +x ./configure.sh; ./configure.sh]]&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Process being executed, waiting for completion.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] **************************************************&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] WebLogic Server 12c (12.1.1.0) Zip Configuration&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] MW_HOME:&amp;nbsp;&amp;nbsp; /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Software&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] JAVA_HOME: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] **************************************************&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] BUILD SUCCESSFUL&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] Total time: 0 seconds&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [configure script] exit code: 0&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] BUILD SUCCESS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Total time: 1:53.210s&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Finished at: Wed Nov 23 15:46:53 CST 2011&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Final Memory: 3M/81M&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 18.0pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;b)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;URL reference&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;!-- WebLogic Server 12c Maven Plugin --&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactLocation&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;http://test.us.oracle.com:7001/downloads/wls1211_dev.zip&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/artifactLocation&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The execution of the wls:install goal is shown below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:install&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0-SNAPSHOT&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:install (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: install&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;b&gt;Installing &lt;/b&gt;&lt;span lang="EN-US"&gt;&lt;b&gt;http://test.us.oracle.com:7001/downloads/wls1211_dev.zip&lt;/b&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt; into /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Software&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Attempt to download artifact from maven repo failed - Artifact not found&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Attempt to download the weblogic server instance directly from url.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Downloading the file ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;...&lt;/div&gt;&lt;div class="MsoNormal"&gt;...&lt;/div&gt;&lt;div class="MsoNormal"&gt;...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] BUILD SUCCESSFUL&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Total time: 0 seconds&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [configure script] exit code: 0&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 4:23.710s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 15:53:21 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 3M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 18.0pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;c)&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;Maven Artifact&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Here the distribution is retrieved from the local Maven repository itself.&amp;nbsp; This means it needs to have been installed into the repository or pulled over from a remote repository at some point.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;To install wls1211-dev.zip into Maven repository the following type of command can be used:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;sbutton:~ $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn install:install-file -Dfile=wls1211_dev.zip &lt;br /&gt;
-DgroupId=com.oracle.weblogic -DartifactId=wls-dev &lt;br /&gt;
-Dpackaging=zip -Dversion=12.1.1.0&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Scanning for projects...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Building Maven Stub Project (No POM) 1&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] --- maven-install-plugin:2.3.1:install-file (default-cli) @ standalone-pom ---&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] &lt;b style="mso-bidi-font-weight: normal;"&gt;Installing /Users/sbutton/Downloads/wls/wls_1211/wls1211_dev.zip to /Users/sbutton/.m2/repository/com/oracle/weblogic/wls-dev/12.1.1.0/wls-dev-12.1.1.0.zip&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Installing /var/folders/cL/cLTyZKXjGgmQhEpoV+U-DE+++TI/-Tmp-/mvninstall7575420374983698784.pom to /Users/sbutton/.m2/repository/com/oracle/weblogic/wls-dev/12.1.1.0/wls-dev-12.1.1.0.pom&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] BUILD SUCCESS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Total time: 11.089s&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Finished at: Wed Nov 23 15:30:17 CST 2011&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Final Memory: 3M/81M&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;This installs wls1211-dev.zip as a Maven artifact with the following coordinate:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;com.oracle.weblogic:wls-dev:zip:12.1.1.0&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;To use this Maven artifact as the distribution to install, the plugin looks like the below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;!-- WebLogic Server 12c Maven Plugin --&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactLocation&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.oracle.weblogic:wls-dev:zip:12.1.1.0&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b style="mso-bidi-font-weight: normal;"&gt;&amp;lt;/artifactLocation&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The execution of the wls:install goal is shown below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:install&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Scanning for projects...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Building maven-demo 1.0-SNAPSHOT&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:install (default-cli) @ maven-demo ---&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ++====================================================================++&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: install&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;++&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ++====================================================================++&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] &lt;b style="mso-bidi-font-weight: normal;"&gt;Installing com.oracle.weblogic:wls-dev:zip:12.1.1.0 into /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Software&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Installing the product, this may take some time.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Executing: [cmd:[/bin/bash, -c, chmod +x ./configure.sh; ./configure.sh]]&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Process being executed, waiting for completion.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] **************************************************&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] WebLogic Server 12c (12.1.1.0) Zip Configuration&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] MW_HOME:&amp;nbsp;&amp;nbsp; /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Software&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] JAVA_HOME: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] **************************************************&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] Your environment has been set.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] BUILD SUCCESSFUL&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [exec] Total time: 0 seconds&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] [configure script] exit code: 0&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] BUILD SUCCESS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Total time: 1:57.549s&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Finished at: Wed Nov 23 15:35:32 CST 2011&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] Final Memory: 4M/81M&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;[INFO] ------------------------------------------------------------------------&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Unless the &amp;lt;middlewareHome&amp;gt; configuration paramter is specified, the installation is performed in the ${basedir}/Oracle/Software directory.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;ls -l&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;total 8&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;drwxr-xr-x&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 102 23 Nov 15:44 &lt;b style="mso-bidi-font-weight: normal;"&gt;Oracle&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp; 3597 23 Nov 15:43 pom.xml&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;drwxr-xr-x&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 102 23 Nov 15:03 src&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;ls -l Oracle/Software/&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;total 64&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 5808 23 Nov 15:45 README.txt&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 3064 23 Nov 15:45 configure.cmd&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 2857 23 Nov 15:45 configure.sh&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 3189 23 Nov 15:45 configure.xml&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp;&amp;nbsp; 133 23 Nov 15:45 domain-registry.xml&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;drwxr-xr-x&amp;nbsp; 508 sbutton&amp;nbsp; staff&amp;nbsp; 17272 23 Nov 15:46 modules&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 1138 23 Nov 15:45 registry.template&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp; 1320 23 Nov 15:46 registry.xml&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp;&amp;nbsp; 102 23 Nov 15:45 utils&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp; 7 sbutton&amp;nbsp; staff&amp;nbsp;&amp;nbsp;&amp;nbsp; 238 23 Nov 15:46 wlserver&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;Create-Domain&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This goal creates a standard WLS domain from the specific WLS installation.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The location of the domain is specified using the optional &amp;lt;domainHome&amp;gt; configuration element.&amp;nbsp; By default &amp;lt;domainHome&amp;gt; is set to ${basedir}/Oracle/Domains so it will be created in an Oracle/Domains subdirectory of the root directory of the Maven project.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The WLS installation to be used is specified using the optional &amp;lt;middlewareHome&amp;gt; configuration element.&lt;span lang="EN-US"&gt;&amp;nbsp; This is set to ${basedir}/Oracle/Software by default, so if the default location has been used to execute the install goal, it can be left out of this goal.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To create a domain, a user and password are required.&amp;nbsp; These can be specified as configuration parameters using the &amp;lt;user&amp;gt; and &amp;lt;password&amp;gt; properties or they can be specified on the command line.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;!-- WebLogic Server 12c Maven Plugin --&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactLocation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.oracle.weblogic:wls-dev:zip:12.1.1.0&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/artifactLocation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;user&amp;gt;weblogic&amp;lt;/user&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;password&amp;gt;welcome1&amp;lt;/user&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The execution of the wls:install goal is shown below.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:create-domain&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0-SNAPSHOT&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:create-domain (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: create-domain&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Domain creation script: &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;readTemplate('/Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Software/wlserver/common/templates/domains/wls.jar')&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;cd('/Security/base_domain/User/weblogic')&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;set('Name', 'weblogic')&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;set('Password', '***')&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;writeDomain('/Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Domains/mydomain')&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 39.345s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 16:01:13 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 24M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Unless the &amp;lt;domainHome&amp;gt; configuration property is specified, the domain will be created in the ${basedir}/Oracle/Domains directory of the project.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;ls -l Oracle/Domains/mydomain&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;total 16&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp; 102 23 Nov 16:01 autodeploy&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp; 10 sbutton&amp;nbsp; staff&amp;nbsp; 340 23 Nov 16:01 bin&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp; 10 sbutton&amp;nbsp; staff&amp;nbsp; 340 23 Nov 16:01 config&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp; 102 23 Nov 16:01 console-ext&lt;/div&gt;&lt;div class="MsoNormal"&gt;-rw-r--r--&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp; 462 23 Nov 16:01 fileRealm.properties&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp; 7 sbutton&amp;nbsp; staff&amp;nbsp; 238 23 Nov 16:01 init-info&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp; 102 23 Nov 16:01 lib&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp; 6 sbutton&amp;nbsp; staff&amp;nbsp; 204 23 Nov 16:01 security&lt;/div&gt;&lt;div class="MsoNormal"&gt;drwxr-xr-x&amp;nbsp;&amp;nbsp; 3 sbutton&amp;nbsp; staff&amp;nbsp; 102 23 Nov 16:01 servers&lt;/div&gt;&lt;div class="MsoNormal"&gt;-rwxr-x---&amp;nbsp;&amp;nbsp; 1 sbutton&amp;nbsp; staff&amp;nbsp; 293 23 Nov 16:01 startWebLogic.sh &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=13556721&amp;amp;postID=7187222536454221950&amp;amp;from=pencil" name="_Toc185052870" style="color: #0b5394;"&gt;Start-Server&lt;/a&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This goal executes a startWebLogic command on a given domain, starting the WebLogic Server instance for use.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This goal also uses the &amp;lt;middlewareHome&amp;gt; and &amp;lt;domainHome&amp;gt; configuration elements to specify the location of the WLS installation and domain to use.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;If you have followed the convention-over-configuration approach and adopted the default values, these configuration elements do not need to be specified.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;If you have installed WLS or created a domain in a different location, you must specify the location using the &amp;lt;middlewareHome&amp;gt; and &amp;lt;domainHome&amp;gt; configuration elements in the pom.xml or specify them as parameters on the command line.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Using the convention-over-configuration approach, the default domain ${basedir}/Oracle/Domains/mydomain using the WLS installation in ${basedir}/Oracle/Software can be started as shown below.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:start-server&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0-SNAPSHOT&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:start-server (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: start-server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;.[INFO] &lt;b style="mso-bidi-font-weight: normal;"&gt;Starting server in domain /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Domains/mydomain&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Check stdout file for details: /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Domains/mydomain/server-2388282492279558044.out&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Process being executed, waiting for completion.&lt;/div&gt;&lt;div class="MsoNormal"&gt;.........&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Server started successful&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 9.137s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 16:23:07 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 4M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;Deploy&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The deploy goal deploys an application. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The convention-over-configuration approach uses the defaults available for middlewareHome, adminurl, and the source file to deploy allowing the goal to be executed without any additional configuration.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:deploy&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:deploy (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: deploy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;weblogic.Deployer invoked with options:&amp;nbsp; -noexit -user weblogic -deploy -source /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/target/maven-demo.war&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;Nov 23, 2011 4:36:51 PM CST&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;J2EE Deployment SPI&amp;gt; &amp;lt;BEA-260121&amp;gt; &amp;lt;Initiating deploy operation for application, maven-demo [archive: /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/target/maven-demo.war], to configured targets.&amp;gt; &lt;/div&gt;&lt;div class="MsoNormal"&gt;Task 0 initiated: [Deployer:149026]deploy application maven-demo on AdminServer.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Task 0 completed: [Deployer:149026]deploy application maven-demo on AdminServer.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Target state: deploy completed on Server AdminServer&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 5.803s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 16:36:52 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 6M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------ &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;Stop-Server&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The stop-server goal stops an executing server using the stopWebLogic script on the specified domain.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ mvn wls:stop-server&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:stop-server (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: stop-server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Stop server in domain: /Users/sbutton/Projects/Java/wls-maven-doc/maven-demo/Oracle/Domains/mydomain&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Process being executed, waiting for completion.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Stopping Weblogic Server...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Initializing WebLogic Scripting Tool (WLST) ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Welcome to WebLogic Server Administration Scripting Shell&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Type help() for help on available commands&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Connecting to t3://localhost:7001 with userid weblogic ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Successfully connected to Admin Server 'AdminServer' that belongs to domain 'mydomain'.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Warning: An insecure protocol was used to connect to the &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] server. To ensure on-the-wire security, the SSL port or &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Admin port should be used instead.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Shutting down the server AdminServer with force=false while connected to AdminServer ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] WLST lost connection to the WebLogic Server that you were &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] connected to, this may happen if the server was shutdown or &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] partitioned. You will have to re-connect to the server once the &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] server is available.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Disconnected from weblogic server: AdminServer&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Disconnected from weblogic server: &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Exiting WebLogic Scripting Tool.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Done&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] [exec] Stopping Derby Server...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 8.921s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 16:41:14 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 4M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;APPC&lt;/span&gt;&lt;a href="http://www.blogger.com/goog_592969835"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;a href="http://www.blogger.com/goog_592969835"&gt;  &lt;/a&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The appc goal executes the WebLogic Server application compiler tool to prepare the application for deployment.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;This benefits from the convention-over-configuration model, allowing it to be executed using the defaults of the project.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;An example of the goal being executed is shown below.&amp;nbsp; Note this example uses the –verbose flag to highlight the activities the appc utility is performing.&amp;nbsp; This is not normally necessary.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:appc -Dverbose&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:appc (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: appc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;Nov 23, 2011 4:43:08 PM CST&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;J2EE&amp;gt; &amp;lt;BEA-160230&amp;gt; &amp;lt;Created working directory: /var/folders/cL/cLTyZKXjGgmQhEpoV+U-DE+++TI/-Tmp-/appcgen_1322028788639_maven-demo.war&amp;gt; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[JspcInvoker]Checking web app for compliance.&lt;/div&gt;&lt;div class="MsoNormal"&gt;[jspc]&amp;nbsp; -webapp specified, searching . for JSPs&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;[jspc] Compiling /index.jsp&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;Nov 23, 2011 4:43:12 PM CST&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;J2EE&amp;gt; &amp;lt;BEA-160220&amp;gt; &amp;lt;Compilation completed successfully.&amp;gt; &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 5.281s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 16:43:12 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 16M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt; &lt;/div&gt;&lt;h2&gt;&lt;span style="color: #0b5394;"&gt;WLST&lt;/span&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The WLST goal enables the WebLogic Scripting Tool (WLST) to be used to execute scripts that configure resources or perform other operational actions on a WebLogic Server domain.&amp;nbsp; The WLST used by the wlst Maven goal is the standard environment WebLogic Server WLST environment so all existing scripts should be able to be used.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Benefitting again from the convention-over-configuration, the middlewareHome and domainHome locations do not need to be specified if the defaults are used.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The WLST goal can execute an external script specified using the &amp;lt;fileName&amp;gt; configuration element or a sequence of WLST calls can be specified within the pom.xml using the &amp;lt;script&amp;gt; configuration element.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;!-- WebLogic Server 12c Maven Plugin --&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;lt;plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;wls-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;12.1.1.0&amp;lt;/version&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactLocation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.oracle.weblogic:wls-dev:zip:12.1.1.0&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/artifactLocation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;user&amp;gt;weblogic&amp;lt;/user&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;password&amp;gt;welcome1&amp;lt;/user&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;filename&amp;gt;create-datasource.py&amp;lt;/fileName&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configuration&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;An execution of the wlst goal is shown below.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;sbutton:~/Projects/Java/wls-maven-doc/maven-demo $ &lt;b style="mso-bidi-font-weight: normal;"&gt;mvn wls:wlst -DfileName=create-datasource.py &lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Scanning for projects...&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Building maven-demo 1.0&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] &lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] --- wls-maven-plugin:12.1.1.0:wlst (default-cli) @ maven-demo ---&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++&amp;nbsp; wls-maven-plugin: wlst&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ++====================================================================++&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;*** Creating DataSource ***&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Connecting to t3://localhost:7001 with userid weblogic ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;Successfully connected to Admin Server 'AdminServer' that belongs to domain 'mydomain'.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Warning: An insecure protocol was used to connect to the &lt;/div&gt;&lt;div class="MsoNormal"&gt;server. To ensure on-the-wire security, the SSL port or &lt;/div&gt;&lt;div class="MsoNormal"&gt;Admin port should be used instead.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Location changed to edit tree. This is a writable tree with &lt;/div&gt;&lt;div class="MsoNormal"&gt;DomainMBean as the root. To make changes you will need to start &lt;/div&gt;&lt;div class="MsoNormal"&gt;an edit session via startEdit(). &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;For more help, use help(edit)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Starting an edit session ...&lt;/div&gt;&lt;div class="MsoNormal"&gt;Started edit session, please be sure to save and activate your &lt;/div&gt;&lt;div class="MsoNormal"&gt;changes once you are done.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Activating all your changes, this may take a while ... &lt;/div&gt;&lt;div class="MsoNormal"&gt;The edit lock associated with this edit session is released &lt;/div&gt;&lt;div class="MsoNormal"&gt;once the activation is completed.&lt;/div&gt;&lt;div class="MsoNormal"&gt;Activation completed&lt;/div&gt;&lt;div class="MsoNormal"&gt;Location changed to serverRuntime tree. This is a read-only tree with ServerRuntimeMBean as the root. &lt;/div&gt;&lt;div class="MsoNormal"&gt;For more help, use help(serverRuntime)&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;**** DataSource Details ****&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  cp&lt;/div&gt;&lt;div class="MsoNormal"&gt;Driver Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Oracle JDBC driver&lt;/div&gt;&lt;div class="MsoNormal"&gt;DataSource:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  oracle.jdbc.xa.client.OracleXADataSource&lt;/div&gt;&lt;div class="MsoNormal"&gt;Properties:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {user=demo}&lt;/div&gt;&lt;div class="MsoNormal"&gt;State:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Running&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] BUILD SUCCESS&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Total time: 10.686s&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Finished at: Wed Nov 23 16:55:25 CST 2011&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] Final Memory: 13M/81M&lt;/div&gt;&lt;div class="MsoNormal"&gt;[INFO] ------------------------------------------------------------------------&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-7187222536454221950?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xxqypca1XQTsOSX6GwbUTbE5Z2c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xxqypca1XQTsOSX6GwbUTbE5Z2c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xxqypca1XQTsOSX6GwbUTbE5Z2c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xxqypca1XQTsOSX6GwbUTbE5Z2c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=IwwdVhFP1p4:_LGCl9NsOBg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/IwwdVhFP1p4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/7187222536454221950/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=7187222536454221950&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7187222536454221950?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7187222536454221950?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/IwwdVhFP1p4/weblogic-server-12c-maven-usage-notes.html" title="WebLogic Server 12c - Maven Usage Notes" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/12/weblogic-server-12c-maven-usage-notes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIAQnsyfSp7ImA9WhdQEEk.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-870940805707774760</id><published>2011-08-11T16:05:00.000+09:30</published><updated>2011-08-11T16:05:43.595+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-11T16:05:43.595+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="classloading" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><title>weblogic.xml and prefer-application-packages</title><content type="html">Short and sweet this one, purely for my own future simple reference.&lt;br /&gt;
&lt;br /&gt;
To use &lt;b&gt;prefer-application-packages&lt;/b&gt; in weblogic.xml, it looks like this:&lt;br /&gt;
&lt;code&gt;&lt;pre&gt;&amp;lt;weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"&amp;gt;

  &amp;lt;jsp-descriptor&amp;gt;
    &amp;lt;keepgenerated&amp;gt;true&amp;lt;/keepgenerated&amp;gt;
    &amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;
  &amp;lt;/jsp-descriptor&amp;gt;

  &amp;lt;context-root&amp;gt;/quicktest&amp;lt;/context-root&amp;gt;
  
  &lt;b&gt;&amp;lt;container-descriptor&amp;gt;&lt;/b&gt;
    &amp;lt;prefer-application-packages&amp;gt;
        &amp;lt;package-name&amp;gt;org.codehaus.jackson.*&amp;lt;/package-name&amp;gt;
        &amp;lt;package-name&amp;gt;org.codehaus.jettison.*&amp;lt;/package-name&amp;gt;
        &amp;lt;package-name&amp;gt;org.objectweb.asm.*&amp;lt;/package-name&amp;gt;
    &amp;lt;/prefer-application-packages&amp;gt;
  &lt;b&gt;&amp;lt;/container-descriptor&amp;gt;&lt;/b&gt;

&amp;lt;/weblogic-web-app&amp;gt;
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-870940805707774760?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CzZ46-6lppMpB-2JEWXDENoPF1o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CzZ46-6lppMpB-2JEWXDENoPF1o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CzZ46-6lppMpB-2JEWXDENoPF1o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CzZ46-6lppMpB-2JEWXDENoPF1o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=X4i6UCd9rpU:nQ6OiutqLJw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/X4i6UCd9rpU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/870940805707774760/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=870940805707774760&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/870940805707774760?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/870940805707774760?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/X4i6UCd9rpU/weblogicxml-and-prefer-application.html" title="weblogic.xml and prefer-application-packages" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/08/weblogicxml-and-prefer-application.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcHRnoyeSp7ImA9WhdTFUw.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-8259903221708666534</id><published>2011-07-13T10:00:00.000+09:30</published><updated>2011-07-13T10:00:37.491+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-13T10:00:37.491+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java SE 7" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title>Unofficial Java SE 7 Builds for Mac OS X</title><content type="html">Not sure how I overlooked this, but according to this page here:&lt;br /&gt;
&lt;br /&gt;
http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port&lt;br /&gt;
&lt;br /&gt;
There are prebuilt (unofficial) binaries for Java SE 7 on Mac OS X here:&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/openjdk-osx-build/downloads/list?q=label:Featured&lt;br /&gt;
&lt;br /&gt;
Good stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-8259903221708666534?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g1dRBwTKEjTXSmnlB1GamW8HKAQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g1dRBwTKEjTXSmnlB1GamW8HKAQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g1dRBwTKEjTXSmnlB1GamW8HKAQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g1dRBwTKEjTXSmnlB1GamW8HKAQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=1_FPp4YkrCw:JfLc0xZP0as:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/1_FPp4YkrCw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/8259903221708666534/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=8259903221708666534&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8259903221708666534?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8259903221708666534?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/1_FPp4YkrCw/unofficial-java-se-7-builds-for-mac-os.html" title="Unofficial Java SE 7 Builds for Mac OS X" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/07/unofficial-java-se-7-builds-for-mac-os.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUHQX48eCp7ImA9WhZaF0s.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-5382206389908842196</id><published>2011-07-04T18:00:00.000+09:30</published><updated>2011-07-04T18:00:30.070+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T18:00:30.070+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="EclipseLink" /><category scheme="http://www.blogger.com/atom/ns#" term="JPA" /><title>Plugging in a later version of EclipseLink to WebLogic Server</title><content type="html">Talking with &lt;a href="http://www.blogger.com/profile/02383574560699818383"&gt;Doug Clarke&lt;/a&gt; of EclipseLink fame and fortune last week, it sounds like there is some real interest from developers in wanting to update WebLogic Server to use later versions of the EclipseLink in order to access it's evolving feature set.&lt;br /&gt;
&lt;br /&gt;
Which should offer no surprises really, EclipseLink rocks.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Investigation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Turning to the situation at hand, the main points to be addressed are:&lt;br /&gt;
&lt;br /&gt;
1. The later versions of EclipseLink are JPA 2.0 based, so we'll assume that the predominant use case is centered around using JPA 2.0.&lt;br /&gt;
&lt;br /&gt;
WebLogic Server supports JPA 2.0 through the application of a &lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#CIHEEBJE"&gt;Smart Update patch&lt;/a&gt; or via &lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#CIHDGHFE"&gt;manual adjustments&lt;/a&gt; to the PRE_CLASSPATH to incorporate two additional JAR files that enable the use of JPA 2.0.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
We'll consider this one easy to handle using documented features. &lt;br /&gt;
&lt;br /&gt;
2. WebLogic Server provides a version of EclipseLink that is loaded as one it's standard feature bearing modules and thus is present by default in the classpath of WebLogic Server for deployed applications.&amp;nbsp; For WLS 10.3.5, this version is org.eclipse.persistence_1.1.0.0_2-1.jar.&lt;br /&gt;
&lt;br /&gt;
WebLogic Server has a feature called the Filtering Classloader, which enables applications to selectively override the libraries from WebLogic Server that an application sees.&amp;nbsp; This should allow an application to be configured to not use the default version of EclipseLink that WebLogic Server provides.&amp;nbsp; This requires each application to specifically provide a weblogic-application.xml file that lists the &amp;lt;prefer-application-packages&amp;gt; configuration set to explicitly filter our the org.eclipselink.persistence package.&lt;br /&gt;
&lt;br /&gt;
3. Any change to the EclipseLink version should be isolated to just an application, and not applied to an entire WebLogic Server installation or domain.&lt;br /&gt;
&lt;br /&gt;
To make the later version of EclipseLink available, there are a few simple options available that could be explored: a) the EclipseLink jar file could be added to the CLASSPATH of WebLogic Server; b) the EclipseLink jar file could be dropped into the $domain/lib directory; c) the newer version of EclipseLink could be used to replace the existing EclipseLink jar file shipped with WebLogic Server, retaining the same name; d) the WebLogic Server shared-library mechanism could be used to deploy the EclipseLink libraries which applications can then selectively reference.&lt;br /&gt;
&lt;br /&gt;
For the sake of expediency, I won't bother going through the pros/cons with each of those options and will just pick a winner from my perspective: the use of a shared-library to provide a selectively consumable version of EclipseLink.&lt;br /&gt;
&lt;br /&gt;
Let's just examine this for a moment -- a &lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13706/libraries.htm#i1064656"&gt;WebLogic Server shared-library&lt;/a&gt; is an artifact that can be deployed to a WebLogic Server target, which can then be referenced by an application being deployed, whereupon WebLogic Server will merge the contents of the shared-library with the application.&amp;nbsp; This enables common libraries to be deployed and used by multiple applications.&amp;nbsp; Furthermore, shared-libraries can take the format of a standard Java EE archives, where descriptors can be provided which are then also merged with the final application deployment.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Given those capabilities:&lt;br /&gt;
&lt;br /&gt;
a) it's possible to construct and deploy an EAR file based shared-library that contains a later version of EclipseLink and a weblogic-application.xml file which provides a preset prefer-application-packages setting that filters the org.eclipselink.persistence.* package.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
b) to use a later version of EclipseLink, an application simply needs to include it's own weblogic-application.xml that imports the EclipseLink shared-library it need to use.&lt;br /&gt;
&lt;br /&gt;
Thus, we have a supported deployment format (can be targeted at single nodes, clusters, whatever ...) to provide later versions of EclipseLink, which can be shared and selectively used by applications as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Implementation&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To test this out in an end-to-end manner, I performed the following steps:&lt;br /&gt;
&lt;br /&gt;
1. Downloaded eclipselink-2.2.0.v20110202-r8913.zip from the EclipseLink web site.&lt;br /&gt;
&lt;br /&gt;
2. Created a small ant project to produce an     eclipselink-shared-lib.ear file.&amp;nbsp; The layout of the shared-library is just a standard Java EE EAR file and contains the following items:&lt;br /&gt;
&lt;br /&gt;
META-INF/weblogic-application.xml&lt;br /&gt;
META-INF/application.xml&lt;br /&gt;
lib/eclipselink.jar&lt;br /&gt;
&lt;br /&gt;
The weblogic-application.xml file contains the following configuration elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;weblogic-application&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;prefer-application-packages&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;package-name&amp;gt;org.eclipse.persistence.*&amp;lt;/package-name&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/prefer-application-packages&amp;gt;&lt;br /&gt;
&amp;lt;/weblogic-application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The application.xml was a necessary element to support the runtime library merging.&amp;nbsp; As you can see from the below, it's basically a NOOP configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;application&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;display-name&amp;gt;eclipselink-shared-lin&amp;lt;/display-name&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;module&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;java&amp;gt;&amp;lt;/java&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/module&amp;gt;&lt;br /&gt;
&amp;lt;/application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ant build script produces an EAR file from these elements with one important addition that marks the EAR file as a shared-library for WebLogic Server by adding a number of attributes to the META-INF/MANIFEST.MF file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;target name="package" depends="prepare"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;jar destfile="dist/${ant.project.name}.ear"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;metainf dir="etc" includes="*.xml"/&amp;gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;manifest&amp;gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="Extension-Name" value="eclipselink"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="Specification-Version" value="2.0"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute name="Implementation-Version" value="2.2.0"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/manifest&amp;gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset dir="build" includes="**/*"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/jar&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;lt;/target&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At deployment time, WebLogic Server will use the attributes as meta-data for the deployed shared-library.&lt;br /&gt;
&lt;br /&gt;
The final EAR file looks like this:&lt;br /&gt;
&lt;br /&gt;
sbutton:~/Projects/Java/eclipselink-shared-lib/dist $ jar tf eclipselink-shared-lib.ear &lt;br /&gt;
META-INF/&lt;br /&gt;
META-INF/MANIFEST.MF&lt;br /&gt;
META-INF/application.xml&lt;br /&gt;
META-INF/weblogic-application.xml&lt;br /&gt;
lib/&lt;br /&gt;
lib/eclipselink.jar&lt;br /&gt;
&lt;br /&gt;
For reference, the simple ant project to build the eclipselink-shared-lib.ear file is here: &lt;a href="http://bit.ly/eclipse-shared-lib"&gt;eclipselink-shared-lib.zip&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
3. Deployed eclipselink-shared-lib.ear to WebLogic Server.&amp;nbsp; This results in a new library being available on the server,&lt;b&gt; eclipselink#2.0@2.2.0&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
4. Created a test application that imports eclipselink#2.0@2.2.0 and outputs the version of it that it is seeing.&lt;br /&gt;
&lt;br /&gt;
The application uses a weblogic.xml to reference the &lt;a class="moz-txt-link-abbreviated" href="mailto:eclipselink#2.0@2.2.0"&gt;eclipselink#2.0@2.2.0&lt;/a&gt;     shared-library that was deployed, which picks up both the new version of eclipselink.jar as well as the     filtering-classloader description the library contains:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
weblogic-application.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;weblogic-application&amp;gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-ref&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-name&amp;gt;eclipselink&amp;lt;/library-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;     &amp;lt;specification-version&amp;gt;2.0&amp;lt;/specification-version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;     &amp;lt;implementation-version&amp;gt;2.2.0&amp;lt;/implementation-version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/library-ref&amp;gt;&lt;/b&gt;&lt;br /&gt;
&amp;lt;/weblogic-application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Within the application, used a simple servlet that outputs the version of EclipseLink it is seeing: &lt;br /&gt;
&lt;br /&gt;
out.printf("&amp;lt;p&amp;gt;EclipseLink Version: %s&amp;lt;/p&amp;gt;",     org.eclipse.persistence.Version.getVersionString()); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Packaged the application into an EAR file and deployed it to WebLogic Server as an application.&lt;br /&gt;
&lt;br /&gt;
When the application is accessed it reports the new version of EclipseLink supplied via the shared-library:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;EclipseLink       Version: 2.2.0.v20110202-r8913&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
6. Performed a negative test by undeploying the application, removed the weblogic-application.xml file from it and redeployed it.&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
When the application is accessed it reports the default version of EclipseLink that WebLogic Server supplies:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;EclipseLink       Version: 2.1.3.v20110304-r9073&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
7.&lt;b&gt;&amp;nbsp; &lt;/b&gt;With the basic premise validated, add a JPA module to validate the code-weaving EclipseLink performs works as expected.&amp;nbsp; To verify the version EclipseLink is using the EclipseLink log level was set to fine and the console output reviewed, which showed up as &lt;b&gt;Eclipse Persistence       Services - 2.2.0.v20110202-r8913&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The use of WebLogic Server shared-libraries appears to be a very suitable model for providing later versions of EclipseLink that automatically filter out the WebLogic Server supplied versions, which applications can selectively choose to import when they need the later versions.&lt;br /&gt;
&lt;br /&gt;
This was just a simple test of the concept of using WebLogic Server shared-libraries to do this.&amp;nbsp; The EclipseLink/TopLink team are in the throes of formally certifying this approach, so keep an eye out for it on the EclipseLink site if it does pass full muster!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-5382206389908842196?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JS7Z5VfvoCeJfa-scCJ9-CnzNtA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JS7Z5VfvoCeJfa-scCJ9-CnzNtA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JS7Z5VfvoCeJfa-scCJ9-CnzNtA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JS7Z5VfvoCeJfa-scCJ9-CnzNtA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=LByQSABmjhw:QElnKrUuRzw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/LByQSABmjhw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/5382206389908842196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=5382206389908842196&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5382206389908842196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5382206389908842196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/LByQSABmjhw/plugging-in-later-version-of.html" title="Plugging in a later version of EclipseLink to WebLogic Server" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/07/plugging-in-later-version-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYBSH8yeSp7ImA9WhZbEkU.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-8499041092976315141</id><published>2011-06-17T14:52:00.000+09:30</published><updated>2011-06-17T14:52:39.191+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-17T14:52:39.191+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java SE 7" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title>Building and Running OpenJDK 7 on Mac OS X - A Breeze</title><content type="html">Preparing a little for the Adelaide JUG meeting yesterday, where Java SE 7 was going to be the topic of discussion, I finally thought it was time to grab the OpenJDK 7 source, get it built and working on my Mac.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port"&gt;http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
After checking off the pre-reqs, the process was as simple as following the small set of very clear instructions on the Wiki page.&lt;br /&gt;
&lt;br /&gt;
The only small side excursion I had was that my bash environment had a JAVA_HOME env var set, which aborted the build at one point.&amp;nbsp; Unsetting that and restarting the build, it then ran flawlessly for about 30mins before out popped a shiny new Open JDK 7 build.&lt;br /&gt;
&lt;br /&gt;
Having never manually installed a JDK on my Mac (Apple updates have served me well) the instructions for how and where to install it was very helpful. And so simple! Particularly with how it results in the new JDK being visible to the &lt;code&gt;/usr/libexec/java_home&lt;/code&gt; utility: &lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
sbutton:~ $ /usr/libexec/java_home  -V &lt;br /&gt;
Matching Java Virtual Machines (4):&lt;br /&gt;
1.6.0_24-b07-334, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home&lt;br /&gt;
1.6.0_24-b07-334, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home&lt;br /&gt;
1.7.0, x86_64: "OpenJDK 7" /Users/sbutton/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home&lt;br /&gt;
1.7.0, i386: "OpenJDK 7" /Users/sbutton/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Voila! &lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;sbutton:~ $ export JAVA_HOME=`/usr/libexec/java_home&amp;nbsp; -v 1.7`&lt;br /&gt;
sbutton:~ $ java -version&lt;br /&gt;
openjdk version "1.7.0-internal"&lt;br /&gt;
OpenJDK Runtime Environment (build 1.7.0-internal-sbutton_2011_06_16_11_39-b00)&lt;br /&gt;
OpenJDK 64-Bit Server VM (build 21.0-b15, mixed mode) &amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &lt;/code&gt;&lt;br /&gt;
Now looking forward to trying out some of the new language features with NetBeans 7.0. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-m4Bqmqmn2y0/Tfrjlqrpd1I/AAAAAAAAAUk/AXk8znfq5b8/s1600/Screen+shot+2011-06-17+at+2.47.51+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="248" src="http://4.bp.blogspot.com/-m4Bqmqmn2y0/Tfrjlqrpd1I/AAAAAAAAAUk/AXk8znfq5b8/s400/Screen+shot+2011-06-17+at+2.47.51+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
All in all, a total breeze! Kudos to the OpenJDK Mac porters group.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-8499041092976315141?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9F7z_DdydHuGUrx4_Ck5YCTi7Mk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9F7z_DdydHuGUrx4_Ck5YCTi7Mk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9F7z_DdydHuGUrx4_Ck5YCTi7Mk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9F7z_DdydHuGUrx4_Ck5YCTi7Mk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=clJuwpS3cvo:AzGqk5K2XaU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/clJuwpS3cvo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/8499041092976315141/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=8499041092976315141&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8499041092976315141?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8499041092976315141?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/clJuwpS3cvo/building-and-running-openjdk-7-on-mac.html" title="Building and Running OpenJDK 7 on Mac OS X - A Breeze" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-m4Bqmqmn2y0/Tfrjlqrpd1I/AAAAAAAAAUk/AXk8znfq5b8/s72-c/Screen+shot+2011-06-17+at+2.47.51+PM.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/06/building-and-running-openjdk-7-on-mac.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08AQ386eSp7ImA9WhZbEE4.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-5732643157587322518</id><published>2011-06-14T16:40:00.001+09:30</published><updated>2011-06-14T16:47:22.111+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-14T16:47:22.111+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><title>WebLogic Server: Listing Groups of an Authenticated User</title><content type="html">Another question from a colleague today: "for a given authenticated user, how can I see what groups the user belongs to?"&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Yep, good question Pas.  Not sure, but worth some time to find out.&lt;br /&gt;
&lt;br /&gt;
Hunting through the &lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13710/toc.htm"&gt;WebLogic Security Documentation&lt;/a&gt;, I found a good description and diagram of how a Subject is related to a Principal.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13710/img/atn_sub.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="329" src="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13710/img/atn_sub.gif" width="410" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;div style="font-family: inherit;"&gt;A &lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13710/glossary.htm#i1041841"&gt;&lt;span class="xrefglossterm"&gt;principal&lt;/span&gt;&lt;/a&gt;  is an identity assigned to a user or group as a result of  authentication. Both users and groups can be used as principals by  application servers such as WebLogic Server. The Java Authentication and  Authorization Service (JAAS) requires that &lt;span class="glossaryterm"&gt;subjects&lt;/span&gt; be used as containers for authentication information, including principals.&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;As part of a successful authentication, principals are signed and stored in a subject for future use.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="font-family: inherit;"&gt;Any principal that is going to represent a WebLogic Server user or group needs to implement the &lt;code&gt;WLSUser&lt;/code&gt; and &lt;code&gt;WLSGroup&lt;/code&gt; interfaces, which are available in the &lt;code&gt;weblogic.security.spi&lt;/code&gt; package.&lt;/div&gt;&lt;/blockquote&gt;Thus presumably, if you can get hold of the Subject, then you should be able to see the Principals associated with the User, of which some should reflect the Group(s) the User belongs to.&lt;br /&gt;
&lt;br /&gt;
But how do you get the Subject?&lt;br /&gt;
&lt;br /&gt;
I kept reading through documentation, but I couldn't see any really obvious description of where/how the Subject could be obtained.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Then, after almost giving up and resorting to looking through the Javadoc, I found this small reference:&lt;br /&gt;
&lt;blockquote&gt;&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13711/thin_client.htm#i1030501"&gt; http://download.oracle.com/docs/cd/E17904_01/web.1111/e13711/thin_client.htm#i1030501&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In &lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13711/thin_client.htm#i1030501"&gt;Example 3-3&lt;/a&gt;,  notice that the JSP is calling an API (request.getRemoteUser()) to get  the name of the user that logged in. &lt;/blockquote&gt;&lt;blockquote&gt;A different API,  &lt;b&gt;weblogic.security.Security.getCurrentSubject()&lt;/b&gt;, could be used instead.  To use this API to get the name of the user, use it with the  SubjectUtils API as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="oac_no_warn"&gt;String username = weblogic.security.SubjectUtils.getUsername&lt;b&gt;&lt;span style="color: orange;"&gt;(&lt;/span&gt;&lt;/b&gt;
&lt;b style="color: black;"&gt;weblogic.security.Security.getCurrentSubject()&lt;/b&gt;);&lt;/pre&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;/blockquote&gt;Note: In the actual doc, there's a missing opening parenthesis in the supplied code snippet.&amp;nbsp; I've added it in orange in the above.&lt;br /&gt;
&lt;br /&gt;
Looking at the Javadoc, the &lt;b&gt;weblogic.security.Security&lt;/b&gt; class has a static method that returns a &lt;b&gt;javax.security.auth.Security&lt;/b&gt; object.&lt;br /&gt;
&lt;br /&gt;
I also found a post from Edward Biemond here: &lt;a href="http://blog.whitehorses.nl/2010/01/29/weblogic-web-application-container-security-part-1/"&gt;http://blog.whitehorses.nl/2010/01/29/weblogic-web-application-container-security-part-1/&lt;/a&gt; that discusses this area, from a slightly different more practical perspective perhaps.&lt;br /&gt;
&lt;br /&gt;
With the Subject accessible and the description of the WLUser and WLGroup interfaces above, the group(s) an authenticated user belongs to can be readily discovered.&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; import weblogic.security.Security;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; import weblogic.security.spi.WLSUser;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; import weblogic.security.spi.WLSGroup;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void doSubjectStuff(PrintWriter out,&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletRequest request,&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletResponse response) {&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Subject subject = Security.getCurrentSubject();&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuffer groups = new StringBuffer();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String user = null;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean first = true;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(Principal p: &lt;b&gt;subject.getPrincipals()&lt;/b&gt;) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(&lt;b&gt;p instanceof WLSGroup&lt;/b&gt;) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(first) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; first=false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; groups.append(", ");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; groups.append(p.getName());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (&lt;b&gt;p instanceof WLSUser&lt;/b&gt;) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user = p.getName();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.printf("&amp;lt;p&amp;gt;RemoteUser: %s, User: %s, belongs to: %s&amp;lt;/p&amp;gt;", &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; request.getUserPrincipal().getName(),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; groups);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calling this from a servlet, deployed within a simple web application that uses BASIC authentication mapped to a couple of WebLogic Server groups, the following output is displayed when the user "steve" logs in:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;RemoteUser: steve, &lt;b&gt;User: steve, belongs to: AppTesters, Deployers&lt;/b&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;
Note, as Edmond also points out, the groups that are provided in the Subject are the WebLogic Server groups the user belongs to, and not the logical role-name defined in the web.xml file.&lt;br /&gt;
&lt;blockquote&gt;web.xml:&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;security-role&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;role-name&amp;gt;ADMINS&amp;lt;/role-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/security-role&amp;gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;blockquote&gt;weblogic.xml:&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;security-role-assignment&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;role-name&amp;gt;ADMINS&amp;lt;/role-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;principal-name&amp;gt;AppTesters&amp;lt;/principal-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;principal-name&amp;gt;Administrators&amp;lt;/principal-name&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/security-role-assignment&amp;gt;&lt;/code&gt;&lt;/blockquote&gt;The primary new takeaway point I got from this was the use of the weblogic.security.Security class to obtain an instance of the current Subject.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-5732643157587322518?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pxDj9cyrqLHE6Alc8s7Z2D4aIEo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pxDj9cyrqLHE6Alc8s7Z2D4aIEo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pxDj9cyrqLHE6Alc8s7Z2D4aIEo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pxDj9cyrqLHE6Alc8s7Z2D4aIEo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=w20yg77MQnw:ysHQEJDv2ho:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/w20yg77MQnw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/5732643157587322518/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=5732643157587322518&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5732643157587322518?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5732643157587322518?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/w20yg77MQnw/weblogic-server-listing-groups-of.html" title="WebLogic Server: Listing Groups of an Authenticated User" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/06/weblogic-server-listing-groups-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EFQnc4cCp7ImA9WhdRGEs.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-3915111947311293909</id><published>2011-06-07T16:10:00.002+09:30</published><updated>2011-08-09T15:30:13.938+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-09T15:30:13.938+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Logging" /><title>Using SLF4J with WebLogic Server Logging</title><content type="html">Just recently, I needed to take a look at the SLF4J (Simple Logging Facade 4 Java) API, and more specifically, to how it could be employed on WebLogic Server.&lt;br /&gt;
&lt;h4&gt;Simple Logging Facade for Java&lt;/h4&gt;&lt;a href="http://www.slf4j.org/"&gt;http://www.slf4j.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
SLF4J follows the Commons-Logging model in that it provides a "Simple Logging Facade" with an API that can be used to insert log messages into application code, without specifying the specific Logging framework that is to be used.  The actual work of capturing and emitting the log message is handled by "pluggable" SLF4J binding, which are added at deployment/runtime time (or server start) and handle the actual logging implementation work.  There are pre-built bindings for the common logging frameworks such as JDK logging, Log4J, LogBack, as well as a simple Logging implementation that appears to simply print log messages to stdout.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Basic Problem&lt;/h4&gt;Having a look at a project that was using SLF4J with WebLogic Server, the question that came up was how could we direct the SLF4J logs into the standard WebLogic Server log facilities.&lt;br /&gt;
&lt;br /&gt;
In it's basic form, with the slf4j-simple-1.6.0.jar binding being used, the SLF4J logs were not consistent with the rest of the WebLogic Server logs.  &lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&amp;lt;Jun 7, 2011 3:22:04 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000395&amp;gt; &amp;lt;Following extensions directory contents added to the end of the classpath:&lt;br /&gt;
/Users/sbutton/Projects/Domains/wls1035/lib/slf4j-api-1.6.0.jar:/Users/sbutton/Projects/Domains/wls1035/lib/slf4j-simple-1.6.0.jar&amp;gt; &lt;br /&gt;
&amp;lt;Jun 7, 2011 3:22:05 PM CST&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000377&amp;gt; &amp;lt;Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 19.1-b02-334 from Apple Inc.&amp;gt; &lt;br /&gt;
&amp;lt;Jun 7, 2011 3:22:05 PM CST&amp;gt; &amp;lt;Info&amp;gt; &amp;lt;Management&amp;gt; &amp;lt;BEA-141107&amp;gt; &amp;lt;Version: WebLogic Server 10.3.5.0  Fri Apr 1 20:20:06 PDT 2011 1398638 &amp;gt; &lt;br /&gt;
. . .&lt;br /&gt;
. . .&lt;br /&gt;
&amp;lt;Jun 7, 2011 3:22:13 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000331&amp;gt; &amp;lt;Started WebLogic Admin Server "myserver" for domain "mydomain" running in Development Mode&amp;gt; &lt;br /&gt;
&amp;lt;Jun 7, 2011 3:22:13 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000365&amp;gt; &amp;lt;Server state changed to RUNNING&amp;gt; &lt;br /&gt;
&amp;lt;Jun 7, 2011 3:22:13 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000360&amp;gt; &amp;lt;Server started in RUNNING mode&amp;gt; &lt;br /&gt;
&lt;b&gt;14 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO com.oracle.demo.wlsslf4j.TestServlet - *** This is an info: class com.oracle.demo.wlsslf4j.TestServlet&lt;br /&gt;
14 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN com.oracle.demo.wlsslf4j.TestServlet - *** This is a warning: class com.oracle.demo.wlsslf4j.TestServlet&lt;br /&gt;
14 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR com.oracle.demo.wlsslf4j.TestServlet - *** This is an error: class com.oracle.demo.wlsslf4j.TestServlet&lt;br /&gt;
&lt;/b&gt;&lt;/code&gt;&lt;br /&gt;
The question was: without writing a specific WLS binding, is there a way to enable the SLF4J logs to be directed into the WebLogic Server logs so they are consistently formatted and able to be viewed in the WebLogic Server console with the rest of the logs?&lt;br /&gt;
&lt;h4&gt;One Solution&lt;/h4&gt;The solution was quite straightforward in the end, simply by combining two pieces of existing functionality:&lt;br /&gt;
&lt;br /&gt;
1. The SLF4J distribution ships with a binding for JDK logging called slf4j-jdk14-1.6.0.jar.  This results in the SLf4J logs being directed into the JDK logging framework.&lt;br /&gt;
&lt;br /&gt;
2. WebLogic Server ships with a JDK logging handler which will pick up log messages emitted from JDK logging framework and direct them into the WebLogic Server logging system.  &lt;br /&gt;
&lt;br /&gt;
The weblogic.logging.ServerLoggingHandler is documented here: &lt;a href="http://download.oracle.com/docs/cd/E14571_01/web.1111/e13739/logging_services.htm#CHDBBEIJ"&gt;http://download.oracle.com/docs/cd/E14571_01/web.1111/e13739/logging_services.htm#CHDBBEIJ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
To get it all working, all it required was making the relevant libraries available to WebLogic Server and wiring them together using a logging.properties file.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Copy Libraries into WebLogic Server&lt;/h4&gt;SLF4J basically comes as two components.  There's the API which is used by applications, and then there's the bridgings that handle the actual production of log messages into the desired form.&lt;br /&gt;
&lt;br /&gt;
To make SLF4J available to WebLogic Server, I employed the simplest way I know - copy them into the domain/lib directory.  This has a certain set of limitations in terms of updating versions without a server restart, etc. but it's a really simple way to get things working in the first instance.  &lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;sbutton:~/Projects/Domains/wls1035 $ ls -l lib/&lt;br /&gt;
total 88&lt;br /&gt;
-rw-r--r--  1 sbutton  staff    702  6 Jun 13:15 readme.txt&lt;br /&gt;
-rw-r--r--  1 sbutton  staff  25496  7 Jun 15:19 slf4j-api-1.6.0.jar&lt;br /&gt;
-rw-r--r--  1 sbutton  staff   8887  7 Jun 15:34 slf4j-jdk14-1.6.0.jar&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;h4&gt;Create a logging.properties file&lt;/h4&gt;The logging.properties file is a standard way to control JDK logging.  Since we have directed SLf4J logs into JDK logging framework by making the slf4j-jdk14-1.6.0 binding available, we can configure JDK logging to use the ServerLoggingHandler provided by WebLogic Server, so as to direct its logs into the WebLogic Server logging system.&lt;br /&gt;
&lt;br /&gt;
The JDK logging framework and its configuration options are all well documented, starting from Nov 2001 here: &lt;a href="http://download.oracle.com/javase/1.4.2/docs/guide/util/logging/overview.html"&gt;http://download.oracle.com/javase/1.4.2/docs/guide/util/logging/overview.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here is the logging.properties file that was used:&lt;br /&gt;
&lt;code&gt;####&lt;br /&gt;
# Specify the handlers to create in the root logger&lt;br /&gt;
handlers = weblogic.logging.ServerLoggingHandler&lt;br /&gt;
&lt;br /&gt;
# Register handlers for the com.oracle.demo package and its child loggers&lt;br /&gt;
com.oracle.demo.handlers = weblogic.logging.ServerLoggingHandler&lt;br /&gt;
&lt;br /&gt;
# Do not send the org.hibernate.validator log messages to the root handler&lt;br /&gt;
com.oracle.demo.useParentHandlers = false&lt;br /&gt;
&lt;br /&gt;
# Set the default logging level for the root logger&lt;br /&gt;
.level = ALL&lt;br /&gt;
com.oracle.demo.level = ALL&lt;br /&gt;
&lt;br /&gt;
# Set the default logging level for new ServerLoggingHandler instances&lt;br /&gt;
weblogic.logging.ServerLoggingHandler.level = ALL&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
To direct the JDK logging framework to use the logging.properties file, the standard System property java.util.logging.config.file is used.  With WebLogic Server, this can be easily accomplished by setting the JAVA_OPTIONS System property with the corresponding value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
$ export JAVA_OPTIONS="-Djava.util.logging.config.file=/Users/sbutton/Projects/Domains/wls1035/logging.properties"&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Start WebLogic Server and Observe&lt;/h4&gt;With the libraries copied into the domain/lib directory, the logging.properties file created and specified as $JAVA_OPTIONS, starting WebLogic Server should now allow the logs created via SLF4J to be directed into the WebLogic Server logging framework.  This should let them be seen on stdout in a consistent form with the standard WebLogic Server log messages, as well as via the WebLogic Server console through it's log viewer.&lt;br /&gt;
&lt;h5&gt;SL4J logs in stdout&lt;/h5&gt;&lt;code&gt;&amp;lt;Jun 7, 2011 3:52:01 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000365&amp;gt; &amp;lt;Server state changed to RUNNING&amp;gt; &lt;br /&gt;
&amp;lt;Jun 7, 2011 3:52:01 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000360&amp;gt; &amp;lt;Server started in RUNNING mode&amp;gt; &lt;br /&gt;
&lt;b&gt;&amp;lt;Jun 7, 2011 3:52:07 PM CST&amp;gt; &amp;lt;Warning&amp;gt; &lt;br /&gt;
&amp;lt;com.oracle.demo.wlsslf4j.TestServlet&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;*** This is a warning: class com.oracle.demo.wlsslf4j.TestServlet&amp;gt; &lt;br /&gt;
&amp;lt;Jun 7, 2011 3:52:07 PM CST&amp;gt; &amp;lt;Error&amp;gt; &amp;lt;com.oracle.demo.wlsslf4j.TestServlet&amp;gt; &amp;lt;BEA-000000&amp;gt; &amp;lt;*** This is an error: class com.oracle.demo.wlsslf4j.TestServlet&amp;gt; &lt;/b&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;h5&gt;SL4J logs in WebLogic Server console&lt;/h5&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9oOdIlNyuQ0/Te3GRRDAFII/AAAAAAAAAUY/0-H5WRWOc24/s1600/Screen%2Bshot%2B2011-06-07%2Bat%2B4.00.46%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="329" src="http://1.bp.blogspot.com/-9oOdIlNyuQ0/Te3GRRDAFII/AAAAAAAAAUY/0-H5WRWOc24/s400/Screen%2Bshot%2B2011-06-07%2Bat%2B4.00.46%2BPM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8R35vXGc4l0/Te3GYQgP3nI/AAAAAAAAAUg/20_AqWZcBoY/s1600/Screen%2Bshot%2B2011-06-07%2Bat%2B4.00.27%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="329" src="http://4.bp.blogspot.com/-8R35vXGc4l0/Te3GYQgP3nI/AAAAAAAAAUg/20_AqWZcBoY/s400/Screen%2Bshot%2B2011-06-07%2Bat%2B4.00.27%2BPM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-3915111947311293909?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eeUVknUyO9isChajkphRF7cbq9I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eeUVknUyO9isChajkphRF7cbq9I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eeUVknUyO9isChajkphRF7cbq9I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eeUVknUyO9isChajkphRF7cbq9I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=nvcal0g0yx0:1q_hrSV0NlI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/nvcal0g0yx0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/3915111947311293909/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=3915111947311293909&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/3915111947311293909?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/3915111947311293909?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/nvcal0g0yx0/using-slf4j-with-weblogic-server.html" title="Using SLF4J with WebLogic Server Logging" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-9oOdIlNyuQ0/Te3GRRDAFII/AAAAAAAAAUY/0-H5WRWOc24/s72-c/Screen%2Bshot%2B2011-06-07%2Bat%2B4.00.46%2BPM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/06/using-slf4j-with-weblogic-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcHQn8yeyp7ImA9WhZVF0k.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-6574281171764074877</id><published>2011-05-30T16:48:00.001+09:30</published><updated>2011-05-30T16:50:33.193+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-30T16:50:33.193+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VI" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title>VI customizations for syntax coloring, auto-indenting and more</title><content type="html">A &lt;a href="http://redstack.wordpress.com/"&gt;colleague&lt;/a&gt; recently sent me a VIM resource file to configure how VIM displays code.&lt;br /&gt;
&lt;br /&gt;
A small set of simple changes, but the effect is very nice and makes the casual viewing of code, scripts, etc. much nicer with line numbering, auto-indenting,&amp;nbsp; syntax color coding, etc.&lt;br /&gt;
&lt;pre class="code"&gt;$ cat ~/.vimrc

set shiftwidth=2 
set tabstop=2 
set number 
set ruler 
set expandtab 
set smartindent 
set autoindent 
set showmatch 
:syntax enable 
highlight Statement ctermfg=white
highlight PreProc ctermfg=3
set pastetoggle=&amp;lt;F10&amp;gt;&lt;/pre&gt;&lt;p/&gt;This is what it looks with a Java file:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_PjxpgVSIKY/TeNDoiovYfI/AAAAAAAAAUQ/cvRnkRb7p3I/s1600/Screen+shot+2011-05-30+at+4.41.52+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="393" src="http://2.bp.blogspot.com/-_PjxpgVSIKY/TeNDoiovYfI/AAAAAAAAAUQ/cvRnkRb7p3I/s640/Screen+shot+2011-05-30+at+4.41.52+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;Thanks Mark.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-6574281171764074877?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iun9bKK3_ZY3YP3vI_WmTp_nWAE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iun9bKK3_ZY3YP3vI_WmTp_nWAE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iun9bKK3_ZY3YP3vI_WmTp_nWAE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iun9bKK3_ZY3YP3vI_WmTp_nWAE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=nUJbyUsp9no:3qrcs1qnP6U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/nUJbyUsp9no" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/6574281171764074877/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=6574281171764074877&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/6574281171764074877?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/6574281171764074877?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/nUJbyUsp9no/vi-customizations-for-syntax-coloring.html" title="VI customizations for syntax coloring, auto-indenting and more" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-_PjxpgVSIKY/TeNDoiovYfI/AAAAAAAAAUQ/cvRnkRb7p3I/s72-c/Screen+shot+2011-05-30+at+4.41.52+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/vi-customizations-for-syntax-coloring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEBQnk8fSp7ImA9WhZVE0U.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-7454219102726256673</id><published>2011-05-26T15:14:00.000+09:30</published><updated>2011-05-26T15:14:13.775+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-26T15:14:13.775+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="CAT" /><title>Applying WLS CAT to WLS 10.3.3</title><content type="html">To help answer an OTN question today regarding the use of the domain/lib directory on WLS 10.3.3, I went to use the CAT utility (as I've become accustomed) and then realized we'd only added it from the WLS 10.3.4 onwards.&lt;br /&gt;
&lt;br /&gt;
As far as I'm aware, we don't make use of any newer APIs in WLS 10.3.4 within CAT, so I simply copied out the wls-cat.war file from a WLS 10.3.4 installation and deployed it to the WLS 10.3.3 domain I was using for the test.&lt;br /&gt;
&lt;br /&gt;
The WLS CAT application deployed successfully and then seemed to work normally, letting me locate exactly where class I was using was being loaded from on WLS 10.3.3.&lt;br /&gt;
&lt;br /&gt;
Of course this is totally unsupported, but if you're in need of WLS CAT on an earlier 10.3.x release and of the adventurous spirit, give it a shot.&amp;nbsp; You can always undeploy it if it doesn't work for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-7454219102726256673?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xDB3Ak6rSvVdkKopFIPpXbtqoHI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xDB3Ak6rSvVdkKopFIPpXbtqoHI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xDB3Ak6rSvVdkKopFIPpXbtqoHI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xDB3Ak6rSvVdkKopFIPpXbtqoHI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=zBB8QHkHdh8:dnNObSAVoT0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/zBB8QHkHdh8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/7454219102726256673/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=7454219102726256673&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7454219102726256673?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7454219102726256673?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/zBB8QHkHdh8/applying-wls-cat-to-wls-1033.html" title="Applying WLS CAT to WLS 10.3.3" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/applying-wls-cat-to-wls-1033.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFQn0-eyp7ImA9WhZWF0o.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-818698358250925239</id><published>2011-05-19T12:58:00.000+09:30</published><updated>2011-05-19T12:58:33.353+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-19T12:58:33.353+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><category scheme="http://www.blogger.com/atom/ns#" term="jsf" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans" /><title>Deploying a Random JSF 2.0 Example on WebLogic Server using Maven and NetBeans and Maven</title><content type="html">I had a bit of a hunt around yesterday looking for some JSF 2.0 example applications to deploy.&amp;nbsp; I quickly came across a comprehensive JSF 2.0 tutorial @ &lt;a href="http://www.coreservlets.com/JSF-Tutorial/jsf2/"&gt;http://www.coreservlets.com/JSF-Tutorial/jsf2/&lt;/a&gt; published by Marty Hall.&lt;br /&gt;
&lt;br /&gt;
For each of the tutorial sections on this site, the example code and pages that are used to demonstrate the concepts and discussion are published as accessible source code.&lt;br /&gt;
&lt;br /&gt;
So I thought I'd try a few of them out with WebLogic Server 10.3.5.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The examples I looked at didn't contain a build script, so I very simply converted them into Maven projects, which I then was able to open immediately in NetBeans (this feature rocks!).&amp;nbsp; I then built, packaged and ran the application on a WebLogic Server 10.3.5 domain, all from NetBeans.&lt;br /&gt;
&lt;br /&gt;
All up, I'd say it tool ~2 mins to get the example loaded and building in NetBeans and deployed to&amp;nbsp; WebLogic Server.&lt;br /&gt;
&lt;br /&gt;
It takes a lot more to describe it below than it does to actually do it.&lt;br /&gt;
&lt;br /&gt;
Here's what I did to get the data-tables example to build, package and deploy to WebLogic Server.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; Download the zip file from &lt;a href="http://www.coreservlets.com/JSF-Tutorial/jsf2/code/data-tables.zip"&gt;http://www.coreservlets.com/JSF-Tutorial/jsf2/code/data-tables.zip&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; Extract the zip file to a local directory, which produces:&lt;br /&gt;
&lt;br /&gt;
/data-tables/WebContent&lt;br /&gt;
/data-tables/src&lt;br /&gt;
/data-tables/build&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. &lt;/b&gt;Generate a Java EE&amp;nbsp; Web Application using the Maven Archetype mechanism.&amp;nbsp; What a great feature this is in Maven.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$ mvn archetype:generate&lt;/b&gt;&lt;br /&gt;
... &lt;br /&gt;
[INFO] Generating project in Interactive mode&lt;br /&gt;
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)&lt;br /&gt;
Choose archetype:&lt;br /&gt;
...&lt;br /&gt;
263: remote -&amp;gt; webapp-j2ee13 (-)&lt;br /&gt;
264: remote -&amp;gt; webapp-j2ee14 (-)&lt;br /&gt;
265: remote -&amp;gt; webapp-javaee6 (-)&lt;br /&gt;
&lt;b&gt;266: remote -&amp;gt; webapp-jee5 (-)&lt;/b&gt;&lt;br /&gt;
...&lt;br /&gt;
Choose a number: 107: &lt;b&gt;266&lt;/b&gt;&lt;br /&gt;
Choose version: &lt;br /&gt;
1: 1.0&lt;br /&gt;
2: 1.0.1&lt;br /&gt;
3: 1.1&lt;br /&gt;
4: 1.2&lt;br /&gt;
Choose a number: 4: &lt;br /&gt;
&lt;b&gt;Define value for property 'groupId': : coreservlets&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Define value for property 'artifactId': : data-tables&lt;/b&gt;&lt;br /&gt;
Define value for property 'version':&amp;nbsp; 1.0-SNAPSHOT: : &lt;br /&gt;
Define value for property 'package':&amp;nbsp; coreservlets: : &lt;br /&gt;
Confirm properties configuration:&lt;br /&gt;
groupId: coreservlets&lt;br /&gt;
artifactId: data-tables&lt;br /&gt;
version: 1.0-SNAPSHOT&lt;br /&gt;
package: coreservlets&lt;br /&gt;
&amp;nbsp;Y: : y&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&lt;b&gt;4.&lt;/b&gt; Copy the WebContent and src directories from the data-tables example into the new Maven project structure.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$ cp -rp ~/Projects/Java/data-tables/WebContent/* src/main/webapp/&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;$ cp -rp ~/Projects/Java//data-tables/src/ src/main/java/&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. &lt;/b&gt;Start NetBeans and simply open the data-tables/pom.xml file to load the project into the IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-JJWG7GzdcyU/TdSIQSAQZTI/AAAAAAAAAT4/DiAFWN-9iao/s1600/Screen+shot+2011-05-19+at+12.16.54+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="401" src="http://2.bp.blogspot.com/-JJWG7GzdcyU/TdSIQSAQZTI/AAAAAAAAAT4/DiAFWN-9iao/s640/Screen+shot+2011-05-19+at+12.16.54+PM.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Click around and explore the project to get a sense of what it contains.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QUxa9ncQ8Q0/TdSIyeI9EkI/AAAAAAAAAT8/0wZg6DlFgv4/s1600/Screen+shot+2011-05-19+at+12.34.01+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="369" src="http://2.bp.blogspot.com/-QUxa9ncQ8Q0/TdSIyeI9EkI/AAAAAAAAAT8/0wZg6DlFgv4/s640/Screen+shot+2011-05-19+at+12.34.01+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6.&lt;/b&gt; Add the jsf-api dependency to the POM so the ManagedBean classes can be compiled.&lt;br /&gt;
&lt;br /&gt;
You can either manually add this direct to the pom.xml as: &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;javax.faces&amp;lt;/groupId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;jsf-api&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;2.0&amp;lt;/version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Or use the "Add Dependency" option on the project to search for it and enter it via a dialog:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AcmaQ3esuWY/TdSJE5XsrkI/AAAAAAAAAUA/yGrgCBsMgVw/s1600/Screen+shot+2011-05-19+at+12.26.50+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="387" src="http://4.bp.blogspot.com/-AcmaQ3esuWY/TdSJE5XsrkI/AAAAAAAAAUA/yGrgCBsMgVw/s400/Screen+shot+2011-05-19+at+12.26.50+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7.&lt;/b&gt; Add a weblogic.xml deployment descriptor to reference the JSF 2.0 shared-library deployed on the WLS domain.&lt;br /&gt;
&lt;br /&gt;
I simply coped in an existing version of the file I had used before.&amp;nbsp; You can also use the "New --&amp;gt; WebLogic --&amp;gt; WebLogic Descriptor" option in NetBeans to add it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-zLhlFl37m5A/TdSJj0LwNFI/AAAAAAAAAUE/EEskOHj2-4c/s1600/Screen+shot+2011-05-19+at+12.23.43+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://3.bp.blogspot.com/-zLhlFl37m5A/TdSJj0LwNFI/AAAAAAAAAUE/EEskOHj2-4c/s400/Screen+shot+2011-05-19+at+12.23.43+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Add a library-ref to the jsf-2.0.war shared-library deployed on the WLS 10.3.4 domain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;
&amp;lt;weblogic-web-app&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;context-root&amp;gt;/data-tables-1.0-SNAPSHOT&amp;lt;/context-root&amp;gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;lt;library-ref&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-name&amp;gt;jsf&amp;lt;/library-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;specification-version&amp;gt;2.0&amp;lt;/specification-version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;implementation-version&amp;gt;1.0.0.0_2-0-2&amp;lt;/implementation-version&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/library-ref&amp;gt;&lt;/b&gt;&lt;br /&gt;
&amp;lt;/weblogic-web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8.&lt;/b&gt; Run the project, select the WLS 10.3.5 Server type and watch it get built and packaged via Maven and deployed by NetBeans.&amp;nbsp; This will start the WLS 10.3.5 server if necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-o8zLUE3kmm0/TdSKdGzO0ZI/AAAAAAAAAUI/ZJbJ-HuxQmk/s1600/Screen+shot+2011-05-19+at+12.40.33+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-o8zLUE3kmm0/TdSKdGzO0ZI/AAAAAAAAAUI/ZJbJ-HuxQmk/s400/Screen+shot+2011-05-19+at+12.40.33+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9. &lt;/b&gt;View the example application in a browser&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wh-MhrvHjMI/TdSLtgOJtZI/AAAAAAAAAUM/P6m37pjjoU0/s1600/Screen+shot+2011-05-19+at+12.46.47+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="341" src="http://1.bp.blogspot.com/-wh-MhrvHjMI/TdSLtgOJtZI/AAAAAAAAAUM/P6m37pjjoU0/s400/Screen+shot+2011-05-19+at+12.46.47+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt;: there it is, a random JSF 2.0 example application, converted to a Maven project, opened in NetBeans and deployed to WebLogic Server 10.3.5, all in ~ 2mins.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-818698358250925239?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fsVtnaA8UcLk8Iiiy-iZ5SHqxoM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fsVtnaA8UcLk8Iiiy-iZ5SHqxoM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fsVtnaA8UcLk8Iiiy-iZ5SHqxoM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fsVtnaA8UcLk8Iiiy-iZ5SHqxoM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=938BMpC0pBY:dB5iDZXTa3E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/938BMpC0pBY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/818698358250925239/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=818698358250925239&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/818698358250925239?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/818698358250925239?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/938BMpC0pBY/deploying-random-jsf-20-example-on.html" title="Deploying a Random JSF 2.0 Example on WebLogic Server using Maven and NetBeans and Maven" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-JJWG7GzdcyU/TdSIQSAQZTI/AAAAAAAAAT4/DiAFWN-9iao/s72-c/Screen+shot+2011-05-19+at+12.16.54+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/deploying-random-jsf-20-example-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQDRnY8eSp7ImA9WhZWF0s.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-4800673680735483875</id><published>2011-05-19T10:21:00.001+09:30</published><updated>2011-05-19T10:22:57.871+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-19T10:22:57.871+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="AJUG" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>First Adelaide Java User Group Session @ Oracle</title><content type="html">Tonight sees the first time that the Adelaide Java User Group meeting is being hosted @ the local Oracle office. &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The session should be interesting with Derek Webber presenting on his area of expertise in Meta-programming with Groovy.&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h1 id="MetaprogrammingwithGroovy" style="color: #333333; font-family: Georgia,'Times New Roman',times,serif; font-size: 22px; font-style: normal; font-weight: normal;"&gt;Meta-programming with Groovy&lt;/h1&gt;Meta-programming is a term to  describe modifying code at runtime and is a very old idea in Computer  Science. Groovy (now at 1.8) is a language that builds features directly  on top of Java and aims to help developers be more productive. It’s  meta-programming features provide a great number of opportunities to  developers that are either really difficult to access or are all but  impossible in plain Java. I will provide an overview of the Groovy Meta  Object Protocol, along examples of what you can do with it. In  particular it helps with:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;easier reflection and adding behaviour dynamically&lt;/li&gt;
&lt;li&gt;monkeypatching and extending existing 3rd party code&lt;/li&gt;
&lt;li&gt;builders and domain-specific languages (DSLs)&lt;/li&gt;
&lt;/ul&gt;For any local Adelaide folks interested in attending, the registration link is here:&amp;nbsp; &lt;br /&gt;
&lt;a href="http://www.jugevents.org/jugevents/event/registration.form?event.id=38181%20"&gt;http://www.jugevents.org/jugevents/event/registration.form?event.id=38181 &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-4800673680735483875?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/214tS3RcOgszWtvGLptJozwA4Ic/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/214tS3RcOgszWtvGLptJozwA4Ic/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/214tS3RcOgszWtvGLptJozwA4Ic/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/214tS3RcOgszWtvGLptJozwA4Ic/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=hryXMSP-T4w:bl8yX4NKQQk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/hryXMSP-T4w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/4800673680735483875/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=4800673680735483875&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/4800673680735483875?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/4800673680735483875?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/hryXMSP-T4w/first-adelaide-java-user-group-session.html" title="First Adelaide Java User Group Session @ Oracle" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/first-adelaide-java-user-group-session.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcGSX0zeSp7ImA9WhZWFk0.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-8511279934618462710</id><published>2011-05-17T14:07:00.000+09:30</published><updated>2011-05-17T14:07:08.381+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T14:07:08.381+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Bean Validation" /><category scheme="http://www.blogger.com/atom/ns#" term="JPA" /><title>Observing Bean Validation at JPA Level</title><content type="html">A quick followup to yesterdays posting regarding the use of JSF 2.0, JPA 2.0 and Bean Validation.&lt;br /&gt;
&lt;br /&gt;
To verify the validation of the constraints at the JPA level, and not at the JSF front end, I decided to add a simple Servlet which calls the WidgetFacadeLocal directly to create a new Widget entity.&lt;br /&gt;
&lt;br /&gt;
This led to a small, interesting side excursion.&lt;br /&gt;
&lt;br /&gt;
Since the NetBeans project was defined as a Java EE 6 Web Application, when the new Servlet was added, the default option was to not generate a web.xml descriptor to describe the Servlet configuration and mapping, and instead to define the Servlet using the @WebServlet annotation on the Servlet class itself.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;@WebServlet(name = "TestValidationServlet", urlPatterns = {"/TestValidationServlet"})&lt;/b&gt;&lt;br /&gt;
public class TestValidationServlet extends HttpServlet {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now this won't deploy in this form to WebLogic Server 10.3.4 since it doesn't yet implement the Servlet 3.0 specification and support @WebServlet.&amp;nbsp; But ... WebLogic Server has provided it's own specific annotation for Servlets since the 10.3 timeframe.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/annotateservlet.htm#i161636"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/annotateservlet.htm#i161636&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Therefore to have this Servlet deploy and run on WebLogic Server, without introducing a web.xml file, the @WLServlet annotation can simply be added to the Servlet class, looking like this:&lt;br /&gt;
&lt;br /&gt;
@WebServlet(name = "TestValidationServlet", urlPatterns = {"/TestValidationServlet"})&lt;br /&gt;
&lt;b&gt;@weblogic.servlet.annotation.WLServlet(name = "TestValidationServlet", mapping = "/TestValidationServlet")&lt;/b&gt;&lt;br /&gt;
public class TestValidationServlet extends HttpServlet {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
At compile time, add a reference to $WL_HOME/modules/com.bea.core.weblogic.web.api_1.4.0.0.jar to make the annotation available and it'll build and package successfully.&lt;br /&gt;
&lt;br /&gt;
With that small excursion done, and the Servlet able to be deployed to WebLogic Server with the addition of the single @WLServlet annotation, the JPA validation can be tested.&lt;br /&gt;
&lt;br /&gt;
This can be simply done again by injecting the stateless session bean WidgetFacadeLocal using an @EJB annotation, then creating a Widget with a known invalid property, and attempting to persist it through the session bean.&amp;nbsp; Any validation constraints that are violated will be detected and returned in an EJBException that can be checked, and displayed.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;b&gt;@EJB&lt;/b&gt; WidgetFacadeLocal widgetFacade;&lt;br /&gt;
...&lt;br /&gt;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throws ServletException, IOException {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Widget widget = new Widget();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; widget.setName("My Widget");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; widget.setEmail("bogus.email.com");&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; widgetFacade.create(widget);&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (EJBException ejbex) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.printf("&amp;lt;p&amp;gt;EJBException, caused by: %s&amp;lt;/p&amp;gt;", ejbex.getCause().getClass().getName());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;if (ejbex.getCausedByException() instanceof ConstraintViolationException)&lt;/b&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;ConstraintViolationException cve = (ConstraintViolationException) &lt;/b&gt;ejbex.getCausedByException();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.printf("&amp;lt;p&amp;gt;Constraint Validations:&amp;lt;/p&amp;gt;");&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println("&amp;lt;ul&amp;gt;");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt; for(ConstraintViolation cv: cve.getConstraintViolations())&lt;/b&gt; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.printf("&amp;lt;li&amp;gt;%s, &amp;lt;b&amp;gt;%S&amp;lt;/b&amp;gt;, %s, &amp;lt;span style='color: red;'&amp;gt;%s&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;",&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;b&gt;cv.getRootBeanClass().getSimpleName()&lt;/b&gt;,&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cv.getPropertyPath()&lt;/b&gt;,&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cv.getMessage()&lt;/b&gt;,&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cv.getInvalidValue()&lt;/b&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println("&amp;lt;ul&amp;gt;");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Here the Widget has an email address which is not valid, as well as missing the mandatory pricePerUnit property. &lt;br /&gt;
&lt;br /&gt;
Deploying this to the WebLogic Server 10.3.4 domain used previously with JPA 2.0 enabled, and Bean Validation library added to the server classpath, the simple test shows that the Bean Validations are checked.&amp;nbsp;&amp;nbsp; An exception is returned that contains the set of constraint violations that occurred, which can be displayed to a user.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GN3CBZFt55c/TdH3pY8K6iI/AAAAAAAAAT0/ZxGl4GZM28k/s1600/Screen+shot+2011-05-17+at+1.50.16+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="1" height="247" src="http://2.bp.blogspot.com/-GN3CBZFt55c/TdH3pY8K6iI/AAAAAAAAAT0/ZxGl4GZM28k/s640/Screen+shot+2011-05-17+at+1.50.16+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This demonstrates the use of implicit Bean Validation through using JPA 2.0 running on WebLogic Server 10.3.4.&lt;br /&gt;
&lt;br /&gt;
Again, the key is to firstly ensure that the Server ClassPath is set to include the following libraries to expose and enable JPA 2.0 and have the Bean Validation implementation be visible to the JPA 2.0 provider:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;$WLS_HOME/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar&lt;/li&gt;
&lt;li&gt;$WLS_HOME/modules/javax.persistence_1.0.0.0_2-0-0.jar&lt;/li&gt;
&lt;li&gt;$GF_HOME/glassfish3/glassfish/modules/bean-validator.jar&lt;/li&gt;
&lt;/ul&gt;And secondly, ensure that either the default JPA provider on the domain is set to TopLink, or the provider is specifically set to be org.eclipse.persistence.jpa.PersistenceProvider in persistence.xml within the application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-8511279934618462710?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N84ApVKgs7yNaszwpXV11L8Z_Iw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N84ApVKgs7yNaszwpXV11L8Z_Iw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N84ApVKgs7yNaszwpXV11L8Z_Iw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N84ApVKgs7yNaszwpXV11L8Z_Iw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=6VfDLKUqSp0:GQX8QnYmMrY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/6VfDLKUqSp0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/8511279934618462710/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=8511279934618462710&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8511279934618462710?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8511279934618462710?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/6VfDLKUqSp0/observing-bean-validation-at-jpa-level.html" title="Observing Bean Validation at JPA Level" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-GN3CBZFt55c/TdH3pY8K6iI/AAAAAAAAAT0/ZxGl4GZM28k/s72-c/Screen+shot+2011-05-17+at+1.50.16+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/observing-bean-validation-at-jpa-level.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQFRHk6eSp7ImA9WhZWFU8.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-5619045853159852358</id><published>2011-05-16T16:13:00.002+09:30</published><updated>2011-05-16T16:15:15.711+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-16T16:15:15.711+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Bean Validation" /><category scheme="http://www.blogger.com/atom/ns#" term="jsf" /><category scheme="http://www.blogger.com/atom/ns#" term="JPA" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans" /><title>JSF 2.0, JPA 2.0 and Bean Validation on WebLogic Server</title><content type="html">For some time now, I’ve been meaning to build a simple application to demonstrate the use of JSF 2.0, JPA 2.0 and Bean Validation with WebLogic Server 10.3.4.&amp;nbsp; But I hadn’t gotten around to it until I had a couple of hours free late last week.&lt;br /&gt;
&lt;br /&gt;
Seeing as I didn’t have all that much time, I thought I’d try and repurpose the Java EE 6 CRUD (create-remove-update-delete) application that NetBeans generates for GlassFish 3.x, and see if I could get it to run on WebLogic Server.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The short answer to that was a resounding yes, with only a few minor changes or tricks.&lt;br /&gt;
&lt;br /&gt;
In this blog, I’m going to step through what I did and highlight the changes that I played around with in order to make it work.&amp;nbsp; I'm not going to make this a tutorial (at this point) since most of the steps that are required are simply using the NetBeans IDE and its wizards to generate the requisite components and pages.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Developing the Application &lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;The starting point for this app was a single table, Widgets, created in a local Derby database.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Using NetBeans 7.0, a new Java EE Enterprise Application was created, using Java EE 6 and targetted at the GlassFish 3.1 server installed with NetBeans.&amp;nbsp; This produces two child projects: a Web project and an EJB project.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/-6BYpuUiLi7U/TdC5-kLSU0I/AAAAAAAAATM/_scu3njvwwE/s1600/Screen+shot+2011-05-16+at+12.38.11+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://4.bp.blogspot.com/-6BYpuUiLi7U/TdC5-kLSU0I/AAAAAAAAATM/_scu3njvwwE/s320/Screen+shot+2011-05-16+at+12.38.11+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-o-BE-RKHXNM/TdC62eD92YI/AAAAAAAAATY/dvkJ7Paayyw/s1600/Screen+shot+2011-05-16+at+12.38.41+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://1.bp.blogspot.com/-o-BE-RKHXNM/TdC62eD92YI/AAAAAAAAATY/dvkJ7Paayyw/s320/Screen+shot+2011-05-16+at+12.38.41+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; In the EJB project, use the "Entity Classes from Database" to generate a JPA 2.0 Entity from the Widget table.  &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/--r34WIehzN4/TdC6mxghFiI/AAAAAAAAATU/I0AiFQa5UK4/s1600/Screen+shot+2011-05-16+at+12.39.24+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="248" src="http://3.bp.blogspot.com/--r34WIehzN4/TdC6mxghFiI/AAAAAAAAATU/I0AiFQa5UK4/s320/Screen+shot+2011-05-16+at+12.39.24+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Worth pointing out here is the use of the Bean Validation specification to declare constraints on the various fields of the Widget entity.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I particularly appreciated the smarts NetBeans uses to provide a suggested @Pattern regular expression for an email field&lt;br /&gt;
&lt;br /&gt;
@Pattern(regexp="[a-z0-9!#$%&amp;amp;'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&amp;amp;'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation&lt;br /&gt;
@Size(max = 100)&lt;br /&gt;
@Column(name = "EMAIL")&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
private String email;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Next, invoke the "Sessions Bean For Entity Classes ..." to generate a session facade with CRUD methods for the Widget entity.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-Kb3DHW9TO1Y/TdC6REcbiYI/AAAAAAAAATQ/gcJgmZ2gqkM/s1600/Screen+shot+2011-05-16+at+12.48.24+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="249" src="http://3.bp.blogspot.com/-Kb3DHW9TO1Y/TdC6REcbiYI/AAAAAAAAATQ/gcJgmZ2gqkM/s320/Screen+shot+2011-05-16+at+12.48.24+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Worth noting here are two points: &amp;nbsp; First, the use of a Generics based Abstract class for the base CRUD operations, which is then subclassed by the WidgetFacade session bean to work specifically with the Widget entity.&amp;nbsp; Second, the use of the JPA 2.0 Criteria API to build a number of queries in the base class.&lt;br /&gt;
&lt;br /&gt;
public List&amp;lt;T&amp;gt; findRange(int[] range) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; javax.persistence.criteria.CriteriaQuery cq getEntityManager().getCriteriaBuilder().createQuery();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cq.select(cq.from(entityClass));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; javax.persistence.Query q = getEntityManager().createQuery(cq);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; q.setMaxResults(range[1] - range[0]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; q.setFirstResult(range[0]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return q.getResultList();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
This session bean is created with a local interface since the EJB 3.0 implementation in WebLogic Server requires the use of a business interface.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;In the persistence.xml file, a trick worth keeping in mind here which may save you some pain later is to explicitly specify the JPA provider to use.&amp;nbsp; This helps later on when you deploy the completed application to WebLogic Server, where the default JPA provider is Kodo/OpenJPA.&amp;nbsp; This can be overridden at the WLS domain level, but setting it in persistence.xml within the application itself is an easy way to do it now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;provider&amp;gt;org.eclipse.persistence.jpa.PersistenceProvider&amp;lt;/provider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details on changing the default JPA provider for a WLS domain, see here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://buttso.blogspot.com/2010/05/changing-default-jpa-provider-in.html"&gt;http://buttso.blogspot.com/2010/05/changing-default-jpa-provider-in.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;With the EJB project now complete, the JSF pages can be generated for the application.&amp;nbsp; In the Web project, this is done using the "JSF Pages from Entity Classes ..." wizard.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-Z-irKc1jZFg/TdC5tWBprVI/AAAAAAAAATI/MEJ2KFbP7hg/s1600/Screen+shot+2011-05-16+at+12.49.46+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="269" src="http://1.bp.blogspot.com/-Z-irKc1jZFg/TdC5tWBprVI/AAAAAAAAATI/MEJ2KFbP7hg/s320/Screen+shot+2011-05-16+at+12.49.46+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
What this wizard generates is a set of JSF pages to represent each of the CRUD operations, a Controller ManagedBean to handle the various tasks required by each of the JSF view pages and the data interactions (with paging) and a EJB 3.1 @Stateless session bean to act as a session facade on the Widget entity.&lt;br /&gt;
&lt;br /&gt;
The new EJB in WAR packaging option available with Java EE 6 is not yet available on WebLogic Server, so the first trick here is to change the Web project to use the session facade that has already been generated in the EJB project.&amp;nbsp; This is possible because the NetBeans wizards generate the same underlying code for the session facade whether it is for an EJB specific project or as part of the JSF Pages for Entity Classes wizard.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Delete the session bean bean in the Web project, then adjust the JSF controller to use the local interface for the session bean in the EJB project:&lt;br /&gt;
&lt;br /&gt;
//@EJB&lt;br /&gt;
//private sab.demo.widget.service.WidgetFacade ejbFacade;&lt;br /&gt;
@EJB&lt;br /&gt;
private sab.demo.widget.service.WidgetFacadeLocal ejbFacade;&lt;br /&gt;
&lt;br /&gt;
Note that EJB 3.1 supports a No-Interface view of an EJB, which WebLogic Server doesn't yet support.&amp;nbsp; So here we have changed the injection point to use the Local interface from our EJB project.&lt;br /&gt;
&lt;br /&gt;
There is also a getFacade method which needs this simple type change as well:&lt;br /&gt;
&lt;br /&gt;
//private WidgetFacade getFacade() {&lt;br /&gt;
private WidgetFacadeLocal getFacade() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return ejbFacade;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Delete the persistence.xml file generated within the Web project, since this will now be supplied with the EJB project.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Modify the web.xml file and change the "version" attribute to be "2.5" to specify a valid version for WebLogic Server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;web-app version="2.5" ... &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Using the "New ..." wizard, add a WebLogic Deployment descriptor to the Web project, and specify a shared library reference to the JSF 2.0 shared library that WebLogic Server supplies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;
&amp;lt;weblogic-web-app&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;context-root&amp;gt;Widget&amp;lt;/context-root&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-ref&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;library-name&amp;gt;jsf&amp;lt;/library-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;specification-version&amp;gt;2.0&amp;lt;/specification-version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;implementation-version&amp;gt;1.0.0.0_2-0-2&amp;lt;/implementation-version&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/library-ref&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;lt;/weblogic-web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the links for more details about JSF 2.0 and WebLogic Server, including instructions for how to deploy and reference the shared-library:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://buttso.blogspot.com/2010/05/jsf-20-support-in-weblogic-server-1033.html"&gt;http://buttso.blogspot.com/2010/05/jsf-20-support-in-weblogic-server-1033.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://buttso.blogspot.com/2011/03/jsf-with-managed-beans-and-dependency.html"&gt;http://buttso.blogspot.com/2011/03/jsf-with-managed-beans-and-dependency.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Build the final application into an EAR file that is ready for deployment.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-U4ZdbrjzS-c/TdC74xwwQ6I/AAAAAAAAATc/9l4Uh19T20Q/s1600/Screen+shot+2011-05-16+at+3.22.59+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-U4ZdbrjzS-c/TdC74xwwQ6I/AAAAAAAAATc/9l4Uh19T20Q/s320/Screen+shot+2011-05-16+at+3.22.59+PM.png" width="267" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;ol&gt;&lt;/ol&gt;&lt;b&gt;Deploying the Application to WebLogic Server&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ExBBbVOiZeM/TdC_1f-YiiI/AAAAAAAAATg/blDLslXNnJs/s1600/Screen+shot+2011-05-16+at+3.39.48+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt; &lt;/a&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;To deploy a JSF 2.0 application to WebLogic Server, the JSF 2.0 shared-library must be deployed.&amp;nbsp; See links referenced above for details on how to do this.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://buttso.blogspot.com/2010/05/jsf-20-support-in-weblogic-server-1033.html"&gt;http://buttso.blogspot.com/2010/05/jsf-20-support-in-weblogic-server-1033.html&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://buttso.blogspot.com/2011/03/jsf-with-managed-beans-and-dependency.html"&gt;http://buttso.blogspot.com/2011/03/jsf-with-managed-beans-and-dependency.html&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;To use JPA 2.0 with WebLogic Server, two optional libraries within the WebLogic Server installation must be placed into the classpath.&amp;nbsp; This can be automated through the use of a SmartUpdate patch, or it can be performed manually by setting a PRE_CLASSPATH environment variable and specifying the required libraries before starting the WebLogic Server domain.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
$ export PRE_CLASSPATH=/Users/sbutton/Java/wls-1035-dev/modules/&lt;b&gt;com.oracle.jpa2support_1.0.0.0_2-0.jar&lt;/b&gt;:/Users/sbutton/Java/wls-1035-dev/modules/&lt;b&gt;javax.persistence_1.0.0.0_2-0-0.jar&lt;br /&gt;
&lt;/b&gt;See the documentation for more details as needed:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#CIHDJHHI"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13720/using_toplink.htm#CIHDJHHI&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;The application is also using the Bean Validation specification which is not supplied with WebLogic Server 10.3.4.&amp;nbsp; To ensure that the JSF 2.0 and JPA 2.0 implementation in TopLink can see the Bean Validation implementation and automatically enlist it's services, I added it as an additional library to the PRE_CLASSPATH environment variable:&lt;br /&gt;
&lt;br /&gt;
$ export PRE_CLASSPATH=${PRE_CLASSPATH):/Users/sbutton/Java/glassfish-31/glassfish3/glassfish/modules/&lt;b&gt;bean-validator.jar&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Note here I am just referencing the library from a local GlassFish installation I have.&amp;nbsp; I could copy this library out into a separate location or even download it independently and reference it.&amp;nbsp; Call me lazy if you will ... :-)&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Start a WebLogic Server domain&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Using the WebLogic Console, configure the required datasource (jdbc/sample) to point at the Derby database and test to ensure it is working.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Using the console, deploy the application.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-ExBBbVOiZeM/TdC_1f-YiiI/AAAAAAAAATg/blDLslXNnJs/s1600/Screen+shot+2011-05-16+at+3.39.48+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://3.bp.blogspot.com/-ExBBbVOiZeM/TdC_1f-YiiI/AAAAAAAAATg/blDLslXNnJs/s320/Screen+shot+2011-05-16+at+3.39.48+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;b&gt;Test the application&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/b&gt;With the application deployed, it can be tested to observe the JSF 2.0, JPA 2.0 and Bean Validation uses working on WebLogic Server.&lt;br /&gt;
&lt;br /&gt;
For instance, create a new Widget and specify an incorrect email address.&amp;nbsp; You'll see that JSF will automatically detect the invalid value based on the @Pattern constraint set on the Widget entity, and display the accompanying message as an error message on the page.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lxdhjPPOayk/TdDCPOYNgsI/AAAAAAAAATk/JYKMHDfjo3M/s1600/Screen+shot+2011-05-16+at+3.50.03+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-lxdhjPPOayk/TdDCPOYNgsI/AAAAAAAAATk/JYKMHDfjo3M/s320/Screen+shot+2011-05-16+at+3.50.03+PM.png" width="295" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Correcting the email address value, the entry can be successfully be saved.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-oaO4q_mmYQE/TdDC4V5TRtI/AAAAAAAAATo/AZmXdgPqYZM/s1600/Screen+shot+2011-05-16+at+3.52.57+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="117" src="http://3.bp.blogspot.com/-oaO4q_mmYQE/TdDC4V5TRtI/AAAAAAAAATo/AZmXdgPqYZM/s320/Screen+shot+2011-05-16+at+3.52.57+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Looking at the stdout on the console where the WLS domain was started, the use of JPA 2.0 via EclipseLink and the automatic enlistment of the Bean Validation implementation can be seen in the lines below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;May 16, 2011 3:58:26 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000360&amp;gt; &amp;lt;Server started in RUNNING mode&amp;gt; &lt;br /&gt;
May 16, 2011 3:58:40 PM org.hibernate.validator.util.Version &amp;lt;clinit&amp;gt;&lt;br /&gt;
INFO: Hibernate Validator 4.1.0.Final&lt;br /&gt;
May 16, 2011 3:58:40 PM org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA&lt;br /&gt;
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.&lt;br /&gt;
&amp;lt;May 16, 2011 3:58:40 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;EclipseLink&amp;gt; &amp;lt;BEA-2005000&amp;gt; &amp;lt;2011-05-16 15:58:40.781--ServerSession(1625943009)--EclipseLink, version: Eclipse Persistence Services - 2.1.3.v20110304-r9073&amp;gt; &lt;br /&gt;
&amp;lt;May 16, 2011 3:58:40 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;EclipseLink&amp;gt; &amp;lt;BEA-2005000&amp;gt; &amp;lt;2011-05-16 15:58:40.782--ServerSession(1625943009)--Server: 10.3.5.0&amp;gt; &lt;br /&gt;
&amp;lt;May 16, 2011 3:58:41 PM CST&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;EclipseLink&amp;gt; &amp;lt;BEA-2005000&amp;gt; &amp;lt;2011-05-16 15:58:41.266--ServerSession(1625943009)--file:/Users/sbutton/Projects/Domains/wls1035/servers/AdminServer/tmp/_WL_user/Widget/qb0nwv/Widget-EJB.jar_Widget-EJBPU login successful&amp;gt; &lt;br /&gt;
&lt;br /&gt;
If you forget to specify the JPA provider using the &amp;lt;provider&amp;gt; element in config.xml and deploy the application to a default WLS domain, then you may see the following error message when you try and access the application:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-np7pl-Dypno/TdDFM6ooP2I/AAAAAAAAATs/rO1srfl9h9A/s1600/Screen+shot+2011-05-16+at+1.21.44+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://3.bp.blogspot.com/-np7pl-Dypno/TdDFM6ooP2I/AAAAAAAAATs/rO1srfl9h9A/s320/Screen+shot+2011-05-16+at+1.21.44+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This exception indicates that an application is using the JPA 2.0 API, but WebLogic Server can't find a JPA 2.0 provider.&amp;nbsp; This is the default condition of a WLS domain where the Kodo/Open JPA 1.0 provider is supplied at runtime.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
This can be easily modified as described above by specifying an explicit &amp;lt;provider&amp;gt; value for EclipseLink (or Hibernate if you are using that) or by altering the default JPA provider at the domain level using the WebLogic Console:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-EIqEMnSumUM/TdDGqdKwC2I/AAAAAAAAATw/j5MJCDTQZxI/s1600/Screen+shot+2011-05-16+at+4.08.29+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131" src="http://1.bp.blogspot.com/-EIqEMnSumUM/TdDGqdKwC2I/AAAAAAAAATw/j5MJCDTQZxI/s400/Screen+shot+2011-05-16+at+4.08.29+PM.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Summary&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
It proved to be quite straight forward to take the Java EE 6 CRUD application generated by NetBeans and alter it slightly to deploy and run successfully on WebLogic Server 10.3.4, using it's JSF 2.0 and JPA 2.0 support.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-5619045853159852358?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PZ9SWwiJ9jzwJLD1BzhSZmGbwv0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PZ9SWwiJ9jzwJLD1BzhSZmGbwv0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PZ9SWwiJ9jzwJLD1BzhSZmGbwv0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PZ9SWwiJ9jzwJLD1BzhSZmGbwv0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=FtJANMen140:og6I0A0LMAE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/FtJANMen140" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/5619045853159852358/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=5619045853159852358&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5619045853159852358?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5619045853159852358?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/FtJANMen140/jsf-20-jpa-20-and-bean-validation-on.html" title="JSF 2.0, JPA 2.0 and Bean Validation on WebLogic Server" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-6BYpuUiLi7U/TdC5-kLSU0I/AAAAAAAAATM/_scu3njvwwE/s72-c/Screen+shot+2011-05-16+at+12.38.11+PM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/jsf-20-jpa-20-and-bean-validation-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAEQH85fSp7ImA9WhZWEEo.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-6252848215049853047</id><published>2011-05-11T11:21:00.000+09:30</published><updated>2011-05-11T11:21:41.125+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-11T11:21:41.125+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="jsf" /><title>Markus Quick Tests RichFaces 4.0 on WLS 10.3.4</title><content type="html">Nice to see this blog from Markus Eisele (belatedly on my part) in which he describes how to do a quick test of the RichFaces 4.0 showcase deployed on WLS 10.3.4 using it's optional support for JSF 2.0:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.eisele.net/2011/04/running-richfaces-400final-showcase-on.html"&gt;http://blog.eisele.net/2011/04/running-richfaces-400final-showcase-on.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks Markus, will try it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-6252848215049853047?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-WxjsMm6ZCRLwjrrIUfG4ne57n4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-WxjsMm6ZCRLwjrrIUfG4ne57n4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-WxjsMm6ZCRLwjrrIUfG4ne57n4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-WxjsMm6ZCRLwjrrIUfG4ne57n4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=yZx4F5GDg0I:HHK8RMHNTSM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/yZx4F5GDg0I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/6252848215049853047/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=6252848215049853047&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/6252848215049853047?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/6252848215049853047?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/yZx4F5GDg0I/markus-quick-tests-richfaces-40-on-wls.html" title="Markus Quick Tests RichFaces 4.0 on WLS 10.3.4" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/markus-quick-tests-richfaces-40-on-wls.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQCRnw8fCp7ImA9WhZXGU8.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-921061111920021567</id><published>2011-05-09T17:19:00.000+09:30</published><updated>2011-05-09T17:19:27.274+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-09T17:19:27.274+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><title>WebLogic Server 10.3.5 Available</title><content type="html">Oracle WebLogic Server 10.3.5 was released for download on OTN over the weekend.&lt;br /&gt;
&lt;br /&gt;
See the Quick View/Download page @ &lt;br /&gt;
http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-bZSn6lQd7g8/Tceb-ID8C0I/AAAAAAAAATA/qcYkTLjPTTk/s1600/Screen%2Bshot%2B2011-05-09%2Bat%2B5.16.30%2BPM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-bZSn6lQd7g8/Tceb-ID8C0I/AAAAAAAAATA/qcYkTLjPTTk/s1600/Screen%2Bshot%2B2011-05-09%2Bat%2B5.16.30%2BPM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-921061111920021567?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tz7FQEYCPfDS7J0id5CTFaqKyA0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tz7FQEYCPfDS7J0id5CTFaqKyA0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tz7FQEYCPfDS7J0id5CTFaqKyA0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tz7FQEYCPfDS7J0id5CTFaqKyA0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=mc67XmC8ig8:aqBd0-xkKts:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/mc67XmC8ig8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/921061111920021567/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=921061111920021567&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/921061111920021567?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/921061111920021567?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/mc67XmC8ig8/weblogic-server-1035-available.html" title="WebLogic Server 10.3.5 Available" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-bZSn6lQd7g8/Tceb-ID8C0I/AAAAAAAAATA/qcYkTLjPTTk/s72-c/Screen%2Bshot%2B2011-05-09%2Bat%2B5.16.30%2BPM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/05/weblogic-server-1035-available.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEMQno8fSp7ImA9WhZTEkk.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-7805887633979016596</id><published>2011-03-16T14:24:00.001+10:30</published><updated>2011-03-16T14:24:43.475+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-16T14:24:43.475+10:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans. JSF" /><category scheme="http://www.blogger.com/atom/ns#" term="JPA" /><title>Tutorial: JSF 2.0 and JPA 2.0 with WebLogic Server using NetBeans</title><content type="html">The NetBeans team have produced a new tutorial demonstrating using JSF 2.0, JPA 2.0 with WebLogic Server 10.3.4 and NetBeans 7.0.&amp;nbsp;&amp;nbsp; The application uses the JPA entity and JSF page generation wizards to quickly produce a working application based on a sample schema.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&amp;nbsp;&lt;a href="http://netbeans.org/kb/docs/web/jsf-jpa-weblogic.html"&gt;Developing an Enterprise Application for Oracle WebLogic Server&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
From the WebLogic Server perspective, this tutorial demonstrates some of the nice integration points NetBeans now has with WebLogic Server.&lt;br /&gt;
&lt;br /&gt;
For instance, the tutorial shows how NetBeans discovers and presents the set of WebLogic Server supplied JSF shared-libraries to the developer to select from.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://netbeans.org/images_www/articles/70/web/jsf-weblogic/projectwizard-serverlib.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://netbeans.org/images_www/articles/70/web/jsf-weblogic/projectwizard-serverlib.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
It shows the resulting automatic configuration of the weblogic deployment descriptor to reference the chosen shared library, and finally it shows the automatic deployment that of the selected JSF shared library that NetBeans performs if necessary.&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://netbeans.org/images_www/articles/70/web/jsf-weblogic/install-libraries-dialog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="95" src="http://netbeans.org/images_www/articles/70/web/jsf-weblogic/install-libraries-dialog.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This all goes to make the use of JSF with WebLogic Server very straight forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The tutorial also highlights the simple approach NetBeans exposes for developers to &lt;a href="http://netbeans.org/kb/docs/web/jsf-jpa-weblogic.html#01e"&gt;Enable JPA 2.0&lt;/a&gt; on the target WebLogic Server domain that is being used for the application.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://netbeans.org/images_www/articles/70/web/jsf-weblogic/weblogic-properties-platform.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://netbeans.org/images_www/articles/70/web/jsf-weblogic/weblogic-properties-platform.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
All together this is a tutorial well worth taking a look at and stepping through to look at the generated code and pages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-7805887633979016596?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_QYD98Djr1LALd9iUs0VENiDp2k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_QYD98Djr1LALd9iUs0VENiDp2k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_QYD98Djr1LALd9iUs0VENiDp2k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_QYD98Djr1LALd9iUs0VENiDp2k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=T6FjTDSmb8o:Q2mC1T-8hI0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/T6FjTDSmb8o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/7805887633979016596/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=7805887633979016596&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7805887633979016596?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7805887633979016596?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/T6FjTDSmb8o/tutorial-jsf-20-and-jpa-20-with.html" title="Tutorial: JSF 2.0 and JPA 2.0 with WebLogic Server using NetBeans" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/03/tutorial-jsf-20-and-jpa-20-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08ASXg4fip7ImA9Wx9aF04.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-3295220621453562531</id><published>2011-03-10T13:22:00.001+10:30</published><updated>2011-03-10T16:14:08.636+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-10T16:14:08.636+10:30</app:edited><title>JSF with Managed Beans and Dependency Injection and WebLogic Server</title><content type="html">&lt;p&gt;A question appears from time to time on various forums postings regarding the use of dependency injection within JSF Managed Beans when running on WebLogic Sever.&amp;#160; The usual problem reported is that the dependency injection simply does not work.&amp;#160; &lt;/p&gt;  &lt;p&gt;A recent example of this is here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://forums.oracle.com/forums/thread.jspa?messageID=9418272&amp;amp;tstart=0#9418272" href="http://forums.oracle.com/forums/thread.jspa?messageID=9418272&amp;amp;tstart=0#9418272"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=9418272&amp;amp;tstart=0#9418272&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;The Short Story&lt;/h3&gt;  &lt;p&gt;The short story is that WebLogic Server does indeed support the use of dependency injection, within Managed Beans in JSF applications.&amp;#160; The simplest way to get it to work is to use the documented mechanism of deploying and using the WebLogic Server supplied JSF shared-library, in which the WebLogic Server specific implementation of the com.sun.faces.spi.InjectionProvider class is supplied, and automatically configured as the InjectionProvider implementation on the Web container.&lt;/p&gt;  &lt;p&gt;It is this WebLogic Server specific class -- com.bea.faces.WeblogicInjectionProvider – in which the actual dependency injection calls are realized.&amp;#160; Without this class being present, the dependency injection calls from JSF essentially become &lt;a href="http://blogs.sun.com/rlubke/entry/jsf_ri_1_2_and"&gt;NOOPs&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;See the documentation for more detailed instructions on how to deploy the JSF shared-library to WebLogic Server and reference it within applications.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuring JSF and JSTL Libraries      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/configurejsfandjtsl.htm#i163440" href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/configurejsfandjtsl.htm#i163440"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/configurejsfandjtsl.htm#i163440&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;The Longer Story&lt;/h3&gt;  &lt;p&gt;To provide support for multiple versions of JSF, WebLogic Server uses its it’s shared-library mechanism.&amp;#160; In a WebLogic Server installation, there are a set of “deployable-libraries” provided that can be deployed as libraries to a WebLogic Server domain to extend its base functionality, in this specific instance by providing a JSF runtime.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_2fxZrJNuQg4/TXg8289LbaI/AAAAAAAAASA/Ya_QbIkFlAw/s1600-h/deployable-libraries%5B8%5D.png"&gt;&lt;img title="deployable-libraries" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="392" alt="deployable-libraries" src="http://lh6.ggpht.com/_2fxZrJNuQg4/TXg84fB4HeI/AAAAAAAAASE/H8iJxDw6vS0/deployable-libraries_thumb%5B6%5D.png?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The JSF 2.0 shared-library is represented by the jsf-2.0.war archive.&amp;#160; This archive contains the standard JSF and JSTL jar files, plus an additional library &lt;strong&gt;wls.jsf.di.jar&lt;/strong&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_2fxZrJNuQg4/TXhEqbWaGiI/AAAAAAAAASI/HicJbX04Ou8/s1600-h/jsf-2.0.war%5B4%5D.png"&gt;&lt;img title="jsf-2.0.war" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="392" alt="jsf-2.0.war" src="http://lh3.ggpht.com/_2fxZrJNuQg4/TXhErgEkj7I/AAAAAAAAASM/uiMNkmCbdRo/jsf-2.0.war_thumb%5B2%5D.png?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The wls.jsf.di.jar library contains a single class &lt;strong&gt;com.bea.faces.WeblogicInjectionProvider&lt;/strong&gt;, which is the WebLogic Server specific implementation of the &lt;strong&gt;com.sun.faces.spi.InjectionProvider &lt;/strong&gt;interface required to support dependency inject from JSF.&amp;#160; &lt;/p&gt;  &lt;p&gt;Furthermore, WebLogic Server detects when JSF is present in a web application by examining if the “jsf” shared-library is referenced, or if the Faces Servlet is configured, and automatically sets the ServletContext parameter com.sun.faces.injectionProvider parameter to the com.bea.faces.WebLogicInjectionProvider class to specify the InjectionProvider to use.&lt;/p&gt;  &lt;p&gt;** See &lt;a title="http://blogs.sun.com/rlubke/entry/jsf_ri_1_2_and" href="http://blogs.sun.com/rlubke/entry/jsf_ri_1_2_and"&gt;http://blogs.sun.com/rlubke/entry/jsf_ri_1_2_and&lt;/a&gt; for the details of this standard JSF SPI mechanism.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_2fxZrJNuQg4/TXhEslP9hnI/AAAAAAAAASQ/8GKme91fSVE/s1600-h/wls.jsf.di.jar%5B7%5D.png"&gt;&lt;img title="wls.jsf.di.jar" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="389" alt="wls.jsf.di.jar" src="http://lh5.ggpht.com/_2fxZrJNuQg4/TXhEto36C5I/AAAAAAAAASU/f4CGlBVgTb0/wls.jsf.di.jar_thumb%5B5%5D.png?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; com.bea.faces.WeblogicInjectionProvider implements com.sun.faces.spi.InjectionProvider {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; com.bea.faces.WeblogicInjectionProvider();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; inject(java.lang.Object)  throws com.sun.faces.spi.InjectionProviderException;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; invokePostConstruct(java.lang.Object)  throws com.sun.faces.spi.InjectionProviderException;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; invokePreDestroy(java.lang.Object) throws com.sun.faces.spi.InjectionProviderException;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: #6699cc 1px solid; border-top: #6699cc 1px solid; border-left: #6699cc 1px solid; border-bottom: #6699cc 1px solid" align="left"&gt;&lt;strong&gt;Thus without this wls.jsf.di.jar library and the com.bea.faces.WeblogicInjectionProvider class it contains that implements the JSF dependency injection SPI, any dependencies declared in the JSF application are not able to be fulfilled.&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Using WebLogic Server JSF Shared Libraries&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The simplest way to use dependency injection in JSF with WebLogic Server is to follow the documented approach for deploying and using JSF shared-library as referenced above.&amp;#160; Once the shared-library is deployed, applications use it by providing a reference in a weblogic deployment descriptor to the JSF library.&amp;#160; At runtime, WebLogic Server will arrange to have the contents of the shared-library made available for the application to use.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For deployment of shared-libraries to WebLogic Server, the standard tools such as the console, or the weblogic.Deployer utility are used, specifying the deployment type as a library.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_2fxZrJNuQg4/TXhEuowkIlI/AAAAAAAAASY/yNldSP1Zl4I/s1600-h/console-library%5B8%5D.png"&gt;&lt;img title="console-library" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="260" alt="console-library" src="http://lh3.ggpht.com/_2fxZrJNuQg4/TXhEvuUcxyI/AAAAAAAAASc/sueusc0NITs/console-library_thumb%5B6%5D.png?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_2fxZrJNuQg4/TXhEwYUE6-I/AAAAAAAAASg/AYmVA3C_CCE/s1600-h/Screen%20shot%202011-03-10%20at%201.26.17%20PM%5B4%5D.png"&gt;&lt;img title="Screen shot 2011-03-10 at 1.26.17 PM" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="297" alt="Screen shot 2011-03-10 at 1.26.17 PM" src="http://lh4.ggpht.com/_2fxZrJNuQg4/TXhExVFSk8I/AAAAAAAAASk/zsMFzhW0qWQ/Screen%20shot%202011-03-10%20at%201.26.17%20PM_thumb%5B2%5D.png?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;With the JSF shared-library deployed to WebLogic Server, applications can reference it using a weblogic deployment descriptor.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;An example weblogic.xml deployment descriptor referencing the deployed &lt;a href="mailto:JSF@2.0"&gt;JSF@2.0&lt;/a&gt; shared-library is shown below.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;UTF-8&amp;quot;&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;weblogic-web-app&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.bea.com/ns/weblogic/90&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;xmlns:j2ee&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://java.sun.com/xml/ns/j2ee&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;xmlns:xsi&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;xsi:schemaLocation&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;jsp-descriptor&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;keepgenerated&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;true&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;keepgenerated&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;jsp-descriptor&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;context-root&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;/WLS-JSF-EJB-DI-WEB&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;context-root&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;library-ref&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;library-name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;jsf&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;library-name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;specification-version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;2.0&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;specification-version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;implementation-version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;1.0.0.0_2-0-2&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;implementation-version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;library-ref&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;  &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;weblogic-web-app&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This is the documented and supported approach and is what we recommend based on the current architecture we use to support JSF.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Embedding JSF within a Web Application&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;A common arrangement for applications using JSF, is to provide the JSF jar files within the web archive itself, so that they are always available when the application is deployed.&amp;#160; It is this case typically where problems surface with dependency injection not working, since the WeblogicInjectionProvider class provider is not present, resulting in a NOOP when dependency injection calls are made.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If this embedding approach is to be used, then the undocumented (and daresay unsupported at this time) approach to getting dependency injection to work in JSF, is to extract the &lt;strong&gt;wls.jsf.di.jar&lt;/strong&gt; file from the jsf-1.2.war or jsf-2.0.war files from a WebLogic Server installation, and put it into the &lt;strong&gt;WEB-INF/lib &lt;/strong&gt;directory of the web application, alongside the JSF jars.&amp;#160; When the application is deployed, the WeblogicInjectionProvider will be available.&amp;#160; This works because the web application initialization code we have, in addition to looking at the shared-library references, also checks to see whether the Faces Servlet -- &lt;strong&gt;javax.faces.webapp.FacesServlet&lt;/strong&gt; -- is configured in web.xml.&amp;#160; If so, it sets the InjectionProvider property appropriately on the ServletContext of the web application, delegating the dependency injection operations to the WeblogicInjectionProvider.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;A Simple Example&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Right, with that explained (hopefully) lets take a look at a simple example in NetBeans.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here is a Java EE project with two modules: WLS-JSF-EJB-DI-WEB and WLS-JSF-EJB-DI-EJB:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_2fxZrJNuQg4/TXhlELpasMI/AAAAAAAAASo/lg1gHtw9yvs/s1600-h/netbeans-app%5B7%5D.png"&gt;&lt;img title="netbeans-app" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="502" alt="netbeans-app" src="http://lh3.ggpht.com/_2fxZrJNuQg4/TXhlFbRVvZI/AAAAAAAAASs/HO1T1cRbW0k/netbeans-app_thumb%5B5%5D.png?imgmax=800" width="800" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In WLS-JSF-EJB-DI-EJB there is a single EJB 3.0 stateless session bean defined as follows:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;package oracle.com.demo.ejb;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;import javax.ejb.Local;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;&lt;span class="preproc"&gt;@Local&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;interface&lt;/span&gt; DateTimeLocal {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    String getCurrentDateTime();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    String getCurrentTime();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    String getCurrentDate();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; getDateStyle();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; getTimeStyle();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="kwrd"&gt;void&lt;/span&gt; setDateStyle(&lt;span class="kwrd"&gt;int&lt;/span&gt; style);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;void&lt;/span&gt; setTimeStyle(&lt;span class="kwrd"&gt;int&lt;/span&gt; style); &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This purpose of this EJB is to return a formatted string representing the current date and time.&amp;#160; The formatting of the date is controlled via the DateStyle and TimeStyle properties.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In&amp;#160; the WLS-JSF-EJB-DI-WEB module, there is a single DateTimeManagedBean class, annotated with @ManagedBean (no faces-config.xml here!) and a single JSF facelet that uses the Managed Bean to displays the formatted date and time.&amp;#160; It also allows the user to change the formatting, again via the Managed Bean. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The Managed Bean class uses an @EJB annotation to inject an instance of the DateTimeLocal EJB, and then delegates all work to it, in order obtain the appropriately formatted date and time string.&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;package oracle.com.demo.web.beans;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;import javax.ejb.EJB;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;import javax.faces.bean.ManagedBean;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;import oracle.com.demo.ejb.DateTimeLocal;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;&lt;span class="preproc"&gt;@ManagedBean&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; DateTimeManagedBean {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;span class="preproc"&gt;@EJB&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    DateTimeLocal dateTimeEJB;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; getDateStyle() {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; dateTimeEJB.getDateStyle();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; getTimeStyle() {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; dateTimeEJB.getTimeStyle();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; setDateStyle(&lt;span class="kwrd"&gt;int&lt;/span&gt; style) {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        dateTimeEJB.setDateStyle(style);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; setTimeStyle(&lt;span class="kwrd"&gt;int&lt;/span&gt; style) {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        dateTimeEJB.setTimeStyle(style);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; String getCurrentDateTime() {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; dateTimeEJB.getCurrentDateTime();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; String getCurrentDate() {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; dateTimeEJB.getCurrentDate();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; String getCurrentTime() {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; String.format(&lt;span class="str"&gt;&amp;quot;%s&amp;quot;&lt;/span&gt;, dateTimeEJB.getCurrentTime());&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; String applyFormats() {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;index.xhtml&amp;quot;&lt;/span&gt;; &lt;span class="rem"&gt;// &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;    &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The index.xhtml facelet uses the Managed Bean to sets and apply the formatting properties and obtain the current date and time in the desired format.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Finally, a weblogic.xml file is provided in the WEB-INF directory that specifies the use of the jsf#2.0 shared-library.&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;** NetBeans offers great support for WebLogic here.&amp;#160; When you add the “JSF Framework” to a project that is configured to run on WebLogic Server, NetBeans automatically offers you the choice of JSF implementations it is aware of on the server and generates the weblogic.xml file.&amp;#160; It will also transparently deploy the specified JSF shared-library to the target WebLogic Server domain if it is not already deployed.&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;When deployed to WebLogic Server 10.3.4, the resulting page looks like this:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_2fxZrJNuQg4/TXhlGvGmpMI/AAAAAAAAASw/rdfW2kpL_bU/s1600-h/app1%5B4%5D.png"&gt;&lt;img title="app1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="480" alt="app1" src="http://lh4.ggpht.com/_2fxZrJNuQg4/TXhlHkxFBbI/AAAAAAAAAS0/dfrA4XwwrK4/app1_thumb%5B2%5D.png?imgmax=800" width="572" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Changing the format properties and applying them, the Managed Bean gets updated, which in turn makes the changes on the DateTimeLocal EJB, which ultimately returns the date and time in the specified format:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/_2fxZrJNuQg4/TXhlIk85pUI/AAAAAAAAAS4/vuPzW2C7jOs/s1600-h/app2%5B4%5D.png"&gt;&lt;img title="app2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="480" alt="app2" src="http://lh3.ggpht.com/_2fxZrJNuQg4/TXhlJlw0EMI/AAAAAAAAAS8/z1Jwl32_nXA/app2_thumb%5B2%5D.png?imgmax=800" width="572" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This simple application demonstrates the successful use of JSF with a Managed Bean, which injects and uses an EJB 3.0 stateless session bean.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I creates this sample application to assist an OTN question that was asked – the project can be be downloaded from here: &lt;a title="http://bit.ly/wlsjsfejb" href="http://bit.ly/wlsjsfejb"&gt;http://bit.ly/wlsjsfejb&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-3295220621453562531?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jkyvrUvpmiNN8wDBXcRuSCmTtyY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jkyvrUvpmiNN8wDBXcRuSCmTtyY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jkyvrUvpmiNN8wDBXcRuSCmTtyY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jkyvrUvpmiNN8wDBXcRuSCmTtyY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=dwwy24Tnyt4:f30xVycrys8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/dwwy24Tnyt4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/3295220621453562531/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=3295220621453562531&amp;isPopup=true" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/3295220621453562531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/3295220621453562531?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/dwwy24Tnyt4/jsf-with-managed-beans-and-dependency.html" title="JSF with Managed Beans and Dependency Injection and WebLogic Server" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_2fxZrJNuQg4/TXg84fB4HeI/AAAAAAAAASE/H8iJxDw6vS0/s72-c/deployable-libraries_thumb%5B6%5D.png?imgmax=800" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/03/jsf-with-managed-beans-and-dependency.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8NR3szcCp7ImA9Wx9bFkw.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-9146396234783796515</id><published>2011-02-25T15:44:00.001+10:30</published><updated>2011-02-25T15:44:56.588+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-25T15:44:56.588+10:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><title>Using the “weblogic” prefix with the WebLogic Maven Plugin</title><content type="html">&lt;p&gt;The documentation for the WebLogic Maven Plugin describes a technique whereby the goals exposed by the plugin can be called using the short name (or prefix) &lt;strong&gt;weblogic&lt;/strong&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#DEPGD383" href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#DEPGD383"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#DEPGD383&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This means that instead of calling a goal using this form:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="3"&gt;$ com.oracle.weblogic:weblogic-maven-plugin:help&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You can use the much more convenient form of:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="3"&gt;$ weblogic:help&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Sounds great.&amp;#160; However there is a documentation bug (logged and fixed for next release) which misses out one crucial step in the process.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;After&lt;/strong&gt; extracting the pom.xml file from weblogic-maven-plugin.jar and editing it to specify the&amp;#160; &amp;lt;build&amp;gt; configuration that maps the plugin goalPrefix as weblogic;     &lt;br /&gt;&lt;strong&gt;     &lt;br /&gt;And before&lt;/strong&gt; you issue the “mvn install:install-file –Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml”;     &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;You first&lt;/strong&gt; need to execute a simple “mvn install” command in the directory in which the pom.xml file resides;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Then &lt;/strong&gt;you use the “mvn install:install-file ….” goal to install the weblogic-maven-plugin.jar file.&lt;/p&gt;  &lt;h3&gt;Blow by Blow&lt;/h3&gt;  &lt;p&gt;Let’s recap those steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Generate the weblogic-maven-plugin.jar using the &lt;font face="Courier New" size="3"&gt;MW_HOME/wlserver_10.3/server/lib/wljarbuilder.jar&lt;/font&gt; file.       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Extract the pom.xml file from weblogic-maven-plugin.jar and copy/move it into the current working directory:      &lt;br /&gt;      &lt;br /&gt;&lt;font face="Courier New" size="3"&gt;$ jar xvf weblogic-maven-plugin.jar META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml        &lt;br /&gt;        &lt;br /&gt;$ mv META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml .         &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;Edit both ~/.m2/settings.xml and pom.xml to add the entries as described in the documentation:      &lt;br /&gt;      &lt;br /&gt;&lt;a title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#BABGICBH" href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#BABGICBH"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#BABGICBH&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Execute “mvn install” to initially configure the plugin in the Maven repository:      &lt;br /&gt;      &lt;br /&gt;&lt;font face="Courier New" size="3"&gt;$ mvn install        &lt;br /&gt;&lt;/font&gt;      &lt;br /&gt;** Extra info: if you look at the ~/.m2/repository/com/oracle/weblogic directory, you should now see a file called maven-metadata-local.xml in which the weblogic-maven-plugin is defined and mapped to the prefix weblogic.&amp;#160; If you neglect this step, then this file is not created and the weblogic-maven-plugin is not able to be accessed using the weblogic prefix.&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Execute “mvn install:install-file” to install the weblogic-maven-plugin.jar file into the repository, using the pom.xml to supply the coordinates:      &lt;br /&gt;      &lt;br /&gt;&lt;font face="Courier New" size="3"&gt;$ mvn install:install-file –Dfile=weblogic-maven-plugin.jar –DpomFile=pom.xml       &lt;br /&gt;&lt;/font&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;With that one &lt;strong&gt;extra&lt;/strong&gt; step done you should now be able to execute a weblogic-maven-plugin goal simply using the weblogic prefix.&amp;#160; &lt;/p&gt;  &lt;p&gt;I find a quick test using weblogic:help is the easiest way to verify it is working correctly:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_2fxZrJNuQg4/TWc6ydsp9YI/AAAAAAAAAR4/9k1Ds3ItLdc/s1600-h/Screen%20shot%202011-02-25%20at%203.21.23%20PM%5B8%5D.png"&gt;&lt;img title="Screen shot 2011-02-25 at 3.21.23 PM" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="394" alt="Screen shot 2011-02-25 at 3.21.23 PM" src="http://lh6.ggpht.com/_2fxZrJNuQg4/TWc6zorgLjI/AAAAAAAAAR8/N6mMx8yfxwU/Screen%20shot%202011-02-25%20at%203.21.23%20PM_thumb%5B6%5D.png?imgmax=800" width="640" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Not working?&lt;/h3&gt;  &lt;p&gt;It’s &lt;strong&gt;crucial&lt;/strong&gt; that the additional “mvn install” step is performed before you install the actual weblogic-maven-plugin.jar library for this to work.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you have installed the weblogic-maven-plugin as documented and either now want to use the short-name or tried the short-name and it didn’t work, then what I’d suggest is that you blow away the ~/.m2/repository/com/oracle directory and start again from scratch.&amp;#160; That should get you a clean install in which the weblogic prefix is mapped correctly to the weblogic-maven-plugin.&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-9146396234783796515?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/916MlNV6pm0k-D0ExBJSqIpvPqk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/916MlNV6pm0k-D0ExBJSqIpvPqk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/916MlNV6pm0k-D0ExBJSqIpvPqk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/916MlNV6pm0k-D0ExBJSqIpvPqk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=qXlx9wQVhQM:QJaq6kQACXU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/qXlx9wQVhQM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/9146396234783796515/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=9146396234783796515&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/9146396234783796515?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/9146396234783796515?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/qXlx9wQVhQM/using-weblogic-prefix-with-weblogic.html" title="Using the “weblogic” prefix with the WebLogic Maven Plugin" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_2fxZrJNuQg4/TWc6zorgLjI/AAAAAAAAAR8/N6mMx8yfxwU/s72-c/Screen%20shot%202011-02-25%20at%203.21.23%20PM_thumb%5B6%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/02/using-weblogic-prefix-with-weblogic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMAQHY-cCp7ImA9WhZWF0o.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-8689757838032268712</id><published>2011-02-22T11:25:00.001+10:30</published><updated>2011-05-19T13:10:41.858+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-19T13:10:41.858+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xsd" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="schema" /><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><title>WebLogic Schema Files</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YH-zrwUfyhc/TWMGOqtKqWI/AAAAAAAAAR0/2N67cRhntlk/s1600/Screen+shot+2011-02-22+at+11.09.46+AM.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img height="70" src="http://2.bp.blogspot.com/-YH-zrwUfyhc/TWMGOqtKqWI/AAAAAAAAAR0/2N67cRhntlk/s200/Screen+shot+2011-02-22+at+11.09.46+AM.png" style="border: medium solid rgb(102, 153, 204);" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;If you are looking for the location of the public hosted schema files for WebLogic Server 10.3.x, here is is a starting link, select the version you are interested in: &lt;a href="http://xmlns.oracle.com/weblogic/index.html"&gt;http://xmlns.oracle.com/weblogic/index.html&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Note: due to the recent OTN conversion to a different content management system, this may now be subjected to a redirection.&lt;br /&gt;
&lt;div style="margin-left: 2em;"&gt;&lt;code&gt;&lt;br /&gt;
$ wget http://xmlns.oracle.com/weblogic/index.html&lt;br /&gt;
--2011-02-22 11:17:26--&amp;nbsp; http://xmlns.oracle.com/weblogic/index.html&lt;br /&gt;
Resolving xmlns.oracle.com... 141.146.9.91&lt;br /&gt;
Connecting to xmlns.oracle.com|141.146.9.91|:80... connected.&lt;br /&gt;
&lt;b&gt;HTTP request sent, awaiting response... 301 Moved Permanently&lt;/b&gt;&lt;br /&gt;
Location: http://www.oracle.com/technology/weblogic/index.html [following]&lt;br /&gt;
&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-8689757838032268712?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OEI96Kjmx_cPhpaLATqSfssZ6Ys/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OEI96Kjmx_cPhpaLATqSfssZ6Ys/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OEI96Kjmx_cPhpaLATqSfssZ6Ys/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OEI96Kjmx_cPhpaLATqSfssZ6Ys/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=uNVRMzchcaM:uefSyNMoW0A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/uNVRMzchcaM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/8689757838032268712/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=8689757838032268712&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8689757838032268712?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8689757838032268712?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/uNVRMzchcaM/weblogic-schema-files.html" title="WebLogic Schema Files" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-YH-zrwUfyhc/TWMGOqtKqWI/AAAAAAAAAR0/2N67cRhntlk/s72-c/Screen+shot+2011-02-22+at+11.09.46+AM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/02/weblogic-schema-files.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QNSH08fSp7ImA9Wx9bEks.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-5791702197431495986</id><published>2011-02-21T12:44:00.008+10:30</published><updated>2011-02-21T14:39:59.375+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T14:39:59.375+10:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Maven" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title>Using Secure Config Files with the WebLogic Maven Plugin</title><content type="html">&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;br /&gt;
WebLogic Server has long had a mechanism to provide a more secure way of connecting to the Administration Server from client utilities such that the username and password do not need to be specified and therefore can’t be seen from the process list or command shell history.&lt;br /&gt;
&lt;br /&gt;
This secure config authenticaiton mechanism works by first storing the username and password in encrypted form in an external file, and then using this later as the input credential with which to connect to the WebLogic Server domain,&amp;nbsp; along with the key that was used to encrypt the file.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
** From a security perspective,&amp;nbsp; controlling access to these files is vital since they permit connection access to the server, but that’s not the focus of this blog.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Securing Access from WLST Online:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/using_wlst.htm#i1092142" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/using_wlst.htm#i1092142"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13715/using_wlst.htm#i1092142&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Utility weblogic.Deployer, User Credential Arguments:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#DEPGD325" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#DEPGD325"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#DEPGD325&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;WLST, storeUserConfig Command:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13813/reference.htm#WLSTC428" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13813/reference.htm#WLSTC428"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13813/reference.htm#WLSTC428&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
WLST, Connection Examples:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13813/reference.htm#WLSTC157" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13813/reference.htm#WLSTC157"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13813/reference.htm#WLSTC157&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This security mechanism is particularly interesting with the use of WebLogic Maven Plugin.&amp;nbsp; &lt;br /&gt;
In order to connect to the Administration Server to perform the desired deployment operation, the weblogic-maven-plugin&amp;nbsp; must supply valid credentials.&amp;nbsp; For quick and simple cases, this is typically done by specifying the username and password directly in the Maven pom.xml file.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;project&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;&lt;pre&gt;...      &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;properties&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;        &lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;weblogic.adminurl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;t3://localhost:7001&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;weblogic.adminurl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;b&gt;&lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;weblogic.user&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;weblogic&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;weblogic.user&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;        &lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;weblogic.password&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;welcome1&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;weblogic.password&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  &amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;properties&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;/pre&gt;&lt;pre&gt;...      &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;plugin&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;        &lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;    &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;groupid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;com.oracle.weblogic&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;groupid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;         &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;    &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;artifactid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;weblogic-maven-plugin&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;artifactid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;         &lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;    &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;10.3.4&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;          &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;    &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;             &lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;      &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;adminurl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;${weblogic.adminurl}&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;adminurl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;             &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;b&gt;&lt;span class="kwrd"&gt;      &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;user&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;${weblogic.user}&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;user&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;             &lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span class="kwrd"&gt;      &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;password&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;${weblogic.password}&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;password&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/b&gt;                                &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;      &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;source&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                 &lt;/pre&gt;&lt;pre&gt;${project.build.directory}/${project.build.finalName}.${project.packaging}             &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;      &amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;source&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;             &lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;      &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;${project.build.finalName}&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;          &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;    &amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;     &lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  &amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;plugin&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;...&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;project&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
As can be clearly seen, this results in the username and password entries being stored in clear-text form in the pom.xml file.&lt;br /&gt;
&lt;br /&gt;
To avoid this password exposure, it would be ideal if the secure connection mechanism described above could be used, replacing the clear text username and password entries with the respective external userConfig and userKey files that specify the credentials that are used to perform the connection.&lt;br /&gt;
&lt;br /&gt;
The documentation for the WebLogic Maven Plugin doesn’t explicitly describe this as a connection option for any of the goals it exposes: &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#BABFHAID" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#BABFHAID"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#BABFHAID&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
But it does contain a reference to the weblogic.Deployer guide for additional usage information: &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#g1048318" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#g1048318"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#g1048318&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Which in turn, does support the use of the &lt;b&gt;userconfigfile&lt;/b&gt; and &lt;b&gt;userkeyfile&lt;/b&gt; parameters to specify the connection credentials: &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#i1024421" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#i1024421"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/wldeployer.htm#i1024421&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Looking at the Mojo classes in the weblogic-maven-plugin.jar file, which implement the goals exposed by the plugin,&amp;nbsp; we can see that there is support for all these additional properties being set on the Mojo by Maven:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; weblogic.tools.maven.plugins.DeployerMojo extends weblogic.tools.maven.plugins.BaseMojo{&lt;/pre&gt;&lt;pre&gt;java.util.List flags;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean failonerror;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String adminurl;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String user;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String password;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;b&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String userConfigFile;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String userKeyFile;&lt;/b&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean advanced;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean debug;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean examples;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean help;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean noversion;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean nowait;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean purgetasks;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean remote;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.Integer timeout;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean verbose;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean version;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean external_stage;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean stage;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String id;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String name;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean nostage;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String source;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String targets;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.Integer retiretimeout;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.Integer rmiGracePeriod;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String action;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean upload;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String plan;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String planversion;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean adminmode;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String appversion;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean graceful;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean ignoresessions;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String securityModel;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean isLibrary;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String libSpecVer;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String libImplVer;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String submoduletargets;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean usenonexclusivelock;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean allversions;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; boolean enableSecurityValidation;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String deleteFiles;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  public&lt;/span&gt; weblogic.tools.maven.plugins.DeployerMojo();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;  public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; execute() throws org.apache.maven.plugin.MojoExecutionException;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;  protected&lt;/span&gt; java.lang.String[] getArgsRedeployer(java.util.List);&lt;/pre&gt;&lt;pre class="alt"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
Therefore to use this more secure connection approach, it should be a simple case of creating and storing the relevant userconfig and userkey files using WLST, and referencing them in the Maven pom.xml file, right?&lt;br /&gt;
&lt;br /&gt;
The answer to this is, &lt;b&gt;&lt;span style="font-size: large;"&gt;yes&lt;/span&gt;&lt;/b&gt;, but …&lt;br /&gt;
&lt;br /&gt;
It turns out we have a very minor bug that prevents this from working in WLS 10.3.4.&amp;nbsp; The bug number is &lt;b&gt;10382796&lt;/b&gt; for reference. It has already been fixed for the next release of WLS.&amp;nbsp; Should you wish to use this secure connection mechanism, I’d suggest opening a support TAR, referencing the bug number and asking for a backport of the bug fix.&lt;br /&gt;
&lt;br /&gt;
Having access to the bug fix, I can walk through the steps required to configure and use this connection mechanism and show it in operation.&lt;br /&gt;
&lt;h3&gt;1. Create the userConfigFile and userKeyFile from the weblogic.WLST utility&lt;/h3&gt;This is a straight forward step and is well documented in the links shown above.&lt;br /&gt;
&lt;br /&gt;
Connect to the running WebLogic Server domain using WLST and issue the storeUserConfig command, specifying the locations of the userConfig and userKey files that will be generated:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&amp;gt;storeUserConfig(‘/tmp/wls.config’,’/tmp/wls.key’)&lt;/pre&gt;&lt;/div&gt;&lt;a href="http://lh6.ggpht.com/_2fxZrJNuQg4/TWHKapZGdKI/AAAAAAAAARQ/YSEJ7w3Yd-I/s1600-h/Screen%20shot%202011-02-21%20at%2010.19.28%20AM%5B9%5D.png"&gt;&lt;img alt="Screen shot 2011-02-21 at 10.19.28 AM" border="0" height="393" src="http://lh3.ggpht.com/_2fxZrJNuQg4/TWHKbViwKOI/AAAAAAAAARU/3GxDD6Xvedg/Screen%20shot%202011-02-21%20at%2010.19.28%20AM_thumb%5B7%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Screen shot 2011-02-21 at 10.19.28 AM" width="640" /&gt;&lt;/a&gt;In this case, we have created the files as ‘/tmp/wls.config’ and ‘/tmp/wls.key’.&lt;br /&gt;
&lt;br /&gt;
We can validate these files work correctly using the weblogic.Deployer utility to connect to the WebLogic Server domain, using the userconfigfile and –userkeyfile parameters: &lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;$ java weblogic.Deployer -adminurl t3://localhost:7001 -userconfigfile /tmp/wls.config -userkeyfile /tmp/wls.key –listapps&lt;/pre&gt;&lt;/div&gt;&lt;a href="http://lh6.ggpht.com/_2fxZrJNuQg4/TWHKcSLHabI/AAAAAAAAARY/Z_GH2INZCJA/s1600-h/Screen%20shot%202011-02-21%20at%2010.59.28%20AM%5B6%5D.png"&gt;&lt;img alt="Screen shot 2011-02-21 at 10.59.28 AM" border="0" height="393" src="http://lh4.ggpht.com/_2fxZrJNuQg4/TWHKdPm6E-I/AAAAAAAAARc/bKmKEQKcXb8/Screen%20shot%202011-02-21%20at%2010.59.28%20AM_thumb%5B4%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Screen shot 2011-02-21 at 10.59.28 AM" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;2. Install WebLogic Maven Plugin and Crypto Library into Maven Repository&lt;/h3&gt;Summary of steps in this section: in order to use the WebLogic Maven Plugin from Maven, it needs to generated from a WebLogic Server installation, then installed into the local repository.&amp;nbsp; Furthermore, to use the secure config file connection mechanism, an additional library must also be installed into the repository to support the encryption operations.&amp;nbsp; This must be manually installed first, then added as dependency of the weblogic-maven-plugin via its pom.xml.&amp;nbsp; Finally, the weblogic-maven-plugin.jar file is installed.&lt;br /&gt;
&lt;h4&gt;Install Dependency crytpo.jar into Maven Repository&lt;/h4&gt;The &amp;lt;MW_HOME&amp;gt;/modules/crypto.jar is required to support the use of the secure config file connection mechanism by the weblogic-maven-plugin.&amp;nbsp; It must be installed into the Maven repository first.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;$ cd &amp;lt;MW_HOME&amp;gt;&lt;/pre&gt;&lt;pre&gt;$ cd modules&lt;/pre&gt;&lt;pre class="alt"&gt;$ mvn install:install-file -Dfile=cryptoj.jar -DgroupId=com.oracle.cryptoj -DartifactId=cryptoj -Dversion=1.0 -Dpackaging=jar&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;Generate weblogic-maven-plugin.jar and extract pom.xml&lt;/h4&gt;To generate the weblogic-maven-plugin and its pom.xml file, follow steps &lt;b&gt;1, 2&lt;/b&gt; from the documentation:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#DEPGD379" title="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#DEPGD379"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13702/maven_deployer.htm#DEPGD379&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;$ java -jar wljarbuilder.jar -profile weblogic-maven-plugin&lt;/pre&gt;&lt;pre&gt;$ jar xvf weblogic-maven-plugin.jar META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml&lt;/pre&gt;&lt;pre class="alt"&gt;$ mv META-INF/maven/com.oracle.weblogic/weblogic-maven-plugin/pom.xml .&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
** It is important that the pom.xml file be available in the directory in which wewill invoke the first “mvn install” command shown below.&amp;nbsp; The easiest way to do this is as shown above, copy/move it into the same directory as the weblogic-maven-plugin.jar file so all the files we will work with are located together.&lt;br /&gt;
&lt;h4&gt;Edit pom.xml to specify cryptoj dependency and goalPrefix &lt;/h4&gt;There are two changes that need to be made to the pom.xml file.&amp;nbsp; The first change is to add the cryptoj library as a dependency to the weblogic-maven-plugin.&amp;nbsp; The second is to add a configuration section to allow the use of the shortname &lt;b&gt;weblogic&lt;/b&gt; to invoke the Maven goals.&lt;br /&gt;
&lt;br /&gt;
Here is the final pom.xml with changes at lines [16-22] and [24-35]:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;project&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://maven.apache.org/POM/4.0.0"&lt;/span&gt; &lt;span class="attr"&gt;xmlns:xsi&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt; &lt;span class="attr"&gt;xsi:schemaLocation&lt;/span&gt;&lt;span class="kwrd"&gt;="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;modelVersion&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;4.0.0&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;modelVersion&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;groupId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;com.oracle.weblogic&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;groupId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;weblogic-maven-plugin&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;packaging&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;maven-plugin&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;packaging&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;10.3.4&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Maven Mojo Archetype&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;url&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://maven.apache.org&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;url&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dependencies&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dependency&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;groupId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;org.apache.maven&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;groupId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;maven-plugin-api&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;2.0&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dependency&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;    &lt;span class="rem"&gt;&amp;lt;!-- Dependency on cryptoj library --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;dependency&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;groupId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;com.oracle.cryptoj&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;groupId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;cryptoj&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;1.0&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dependency&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;dependencies&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;  &lt;span class="rem"&gt;&amp;lt;!-- Use weblogic goalPrefix --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;build&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;plugins&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;plugin&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;maven-plugin-plugin&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;artifactId&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;2.3&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;           &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;goalPrefix&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;weblogic&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;goalPrefix&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;plugin&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;plugins&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;build&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;project&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;Install weblogic-maven-plugin&lt;/h4&gt;Now we want to actually install the weblogic-maven-plugin into the Maven repository.&amp;nbsp; There are two install commands that are issued here, which both need to be followed.&amp;nbsp; The first command implictly uses the edited pom.xml file and configures the weblogic-maven-plugin inside the Maven repository.&amp;nbsp; The second command performs the actual installation of the weblogic-maven-plugin library into the Maven repository.&lt;br /&gt;
&lt;br /&gt;
** Ensure the pom.xml file we have edited is in the directory in which you will execute the commands.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;$ mvn install&lt;/pre&gt;&lt;pre&gt;$ mvn install:install-file -Dfile=weblogic-maven-plugin.jar -DpomFile=pom.xml &lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
We should see output from these commands as shown in the screencaps below:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_2fxZrJNuQg4/TWHKeJroWBI/AAAAAAAAARg/zW43a-znNp0/s1600-h/Screen%20shot%202011-02-21%20at%2011.59.42%20AM%5B7%5D.png"&gt;&lt;img alt="Screen shot 2011-02-21 at 11.59.42 AM" border="0" height="480" src="http://lh5.ggpht.com/_2fxZrJNuQg4/TWHKfmcdHXI/AAAAAAAAARk/RPwi91zKCtA/Screen%20shot%202011-02-21%20at%2011.59.42%20AM_thumb%5B5%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Screen shot 2011-02-21 at 11.59.42 AM" width="544" /&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/_2fxZrJNuQg4/TWHKgikNHrI/AAAAAAAAARo/c_1mWpGV-bg/s1600-h/Screen%20shot%202011-02-21%20at%2012.03.47%20PM%5B5%5D.png"&gt;&lt;img alt="Screen shot 2011-02-21 at 12.03.47 PM" border="0" height="386" src="http://lh3.ggpht.com/_2fxZrJNuQg4/TWHKhgoLCRI/AAAAAAAAARw/70vWcuU2CPo/Screen%20shot%202011-02-21%20at%2012.03.47%20PM_thumb%5B3%5D.png?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Screen shot 2011-02-21 at 12.03.47 PM" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;3. Configure pom.xml to use secure config file for authentication&lt;/h3&gt;Now that the secure configuration files have been generated, the cryptoj dependency and the oracle-maven-plugin&amp;nbsp; installed into the Maven repository, we can configure your Maven pom.xml file to use them to connect to the WebLogic Server domain.&lt;br /&gt;
&lt;br /&gt;
Instead of using the &amp;lt;username&amp;gt; and &amp;lt;password&amp;gt; elements as part of the weblogic-maven-plugin &amp;lt;configuration&amp;gt; stanza to specify the connection credentials, we use the &lt;b&gt;&amp;lt;userConfigFile&amp;gt;&lt;/b&gt; and &lt;b&gt;&amp;lt;userKeyFile&amp;gt;&lt;/b&gt; elements and point to the location of the files we generated from WLST earlier.&lt;br /&gt;
&lt;br /&gt;
A fully configured Maven pom.xml for a Java EE 5 Web application is shown below.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Lines [13-18] shows the creation of properties that identify the location of the relevant external files we generated from WLST. &lt;br /&gt;
&lt;br /&gt;
Lines [67-69] shows the use of the &amp;lt;userConfigFile&amp;gt; and &amp;lt;userKeyfile&amp;gt; elements to specify the use of the secure config file authentication model.&lt;br /&gt;
&lt;br /&gt;
Example pom.xml:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&amp;lt;project xmlns=&lt;span class="str"&gt;"http://maven.apache.org/POM/4.0.0"&lt;/span&gt; xmlns:xsi=&lt;span class="str"&gt;"http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;  xsi:schemaLocation=&lt;span class="str"&gt;"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;  &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;  &amp;lt;groupId&amp;gt;sab.demo.maven&amp;lt;/groupId&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;  &amp;lt;artifactId&amp;gt;webapp&amp;lt;/artifactId&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  &amp;lt;packaging&amp;gt;war&amp;lt;/packaging&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  &amp;lt;version&amp;gt;1.0-SNAPSHOT&amp;lt;/version&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;  &amp;lt;name&amp;gt;webapp JEE5 Webapp&amp;lt;/name&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;  &amp;lt;url&amp;gt;http://maven.apache.org&amp;lt;/url&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;  &amp;lt;!-- weblogic-maven-plugin properties --&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;  &amp;lt;properties&amp;gt;        &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    &amp;lt;weblogic.adminurl&amp;gt;t3://localhost:7001&amp;lt;/weblogic.adminurl&amp;gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;    &amp;lt;weblogic.configfile&amp;gt;/tmp/wls.config&amp;lt;/weblogic.configfile&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    &amp;lt;weblogic.keyfile&amp;gt;/tmp/wls.key&amp;lt;/weblogic.keyfile&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;  &amp;lt;/properties&amp;gt;  &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;  &amp;lt;dependencies&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;    &amp;lt;dependency&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;      &amp;lt;groupId&amp;gt;javax.servlet&amp;lt;/groupId&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;      &amp;lt;artifactId&amp;gt;servlet-api&amp;lt;/artifactId&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;      &amp;lt;version&amp;gt;2.5&amp;lt;/version&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;      &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;    &amp;lt;/dependency&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;    &amp;lt;dependency&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;      &amp;lt;groupId&amp;gt;javax.servlet.jsp&amp;lt;/groupId&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;      &amp;lt;artifactId&amp;gt;jsp-api&amp;lt;/artifactId&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;      &amp;lt;version&amp;gt;2.1&amp;lt;/version&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;      &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;    &amp;lt;/dependency&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;    &amp;lt;dependency&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;      &amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;      &amp;lt;artifactId&amp;gt;junit&amp;lt;/artifactId&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;      &amp;lt;version&amp;gt;3.8.1&amp;lt;/version&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;      &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;    &amp;lt;/dependency&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;  &amp;lt;/dependencies&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;  &amp;lt;build&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;    &amp;lt;plugins&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;      &amp;lt;plugin&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;        &amp;lt;groupId&amp;gt;org.apache.maven.plugins&amp;lt;/groupId&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;        &amp;lt;artifactId&amp;gt;maven-compiler-plugin&amp;lt;/artifactId&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;        &amp;lt;version&amp;gt;2.0.2&amp;lt;/version&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;        &amp;lt;configuration&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;          &amp;lt;source&amp;gt;1.5&amp;lt;/source&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;          &amp;lt;target&amp;gt;1.5&amp;lt;/target&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;        &amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;      &amp;lt;/plugin&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;      &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;    &amp;lt;plugin&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;        &amp;lt;groupId&amp;gt;com.oracle.weblogic&amp;lt;/groupId&amp;gt;         &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;        &amp;lt;artifactId&amp;gt;weblogic-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;        &amp;lt;version&amp;gt;10.3.4&amp;lt;/version&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;        &amp;lt;configuration&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;            &amp;lt;adminurl&amp;gt;${weblogic.adminurl}&amp;lt;/adminurl&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;            &amp;lt;!--&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;            &amp;lt;user&amp;gt;${weblogic.user}&amp;lt;/user&amp;gt;             &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;            &amp;lt;password&amp;gt;${weblogic.password}&amp;lt;/password&amp;gt;                                &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;            --&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;            &amp;lt;!-- Use external connection files --&amp;gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;            &amp;lt;userConfigFile&amp;gt;${weblogic.configfile}&amp;lt;/userConfigFile&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;            &amp;lt;userKeyFile&amp;gt;${weblogic.keyfile}&amp;lt;/userKeyFile&amp;gt;            &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;            &amp;lt;source&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;                ${project.build.directory}/${project.build.finalName}.${project.packaging}&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt;            &amp;lt;/source&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;            &amp;lt;name&amp;gt;${project.build.finalName}&amp;lt;/name&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;        &amp;lt;/configuration&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;     &amp;lt;/plugin&amp;gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;            &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;    &amp;lt;/plugins&amp;gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  79:  &lt;/span&gt;    &amp;lt;finalName&amp;gt;webapp&amp;lt;/finalName&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  80:  &lt;/span&gt;  &amp;lt;/build&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  81:  &lt;/span&gt;&amp;lt;/project&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;Verify it Works&lt;/h3&gt;With all configuration and installation tasks performed, we can now verify that the weblogic-maven-plugin can successfully connect to the WebLogic Server domain.&lt;br /&gt;
&lt;br /&gt;
To do this, I typically use the weblogic:list-apps goal – this doesn’t perform any deployment operation, but does connect to the target server, authenticates, and returns a list of the currently deployed applications. &lt;br /&gt;
&lt;br /&gt;
The output from executing weblogic:list-apps is shown below.&amp;nbsp; Note the [INFO] output which shows the underlying weblogic.Deployer command that is issued, in which the –userconfigfile and –userkeyfile parameters are used:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;b&gt;$ mvn weblogic:list-apps&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;[INFO] Scanning &lt;span class="kwrd"&gt;for&lt;/span&gt; projects...&lt;/pre&gt;&lt;pre class="alt"&gt;[INFO]                                                                         &lt;/pre&gt;&lt;pre&gt;[INFO] ------------------------------------------------------------------------&lt;/pre&gt;&lt;pre class="alt"&gt;[INFO] Building webapp JEE5 Webapp 1.0-SNAPSHOT&lt;/pre&gt;&lt;pre&gt;[INFO] ------------------------------------------------------------------------&lt;/pre&gt;&lt;pre class="alt"&gt;[INFO] &lt;/pre&gt;&lt;pre&gt;[INFO] --- weblogic-maven-plugin:10.3.4:list-apps (&lt;span class="kwrd"&gt;default&lt;/span&gt;-cli) @ webapp ---&lt;/pre&gt;&lt;pre class="alt"&gt;weblogic.Deployer invoked with options:  -noexit -adminurl t3://localhost:7001 &lt;b&gt;-userconfigfile /tmp/wls.config -userkeyfile /tmp/wls.key&lt;/b&gt; -listapps&lt;/pre&gt;&lt;pre&gt;wls-rest&lt;/pre&gt;&lt;pre class="alt"&gt;jersey-bundle [LibSpecVersion=1.1.1,LibImplVersion=1.1.5.1] &amp;lt;ACTIVE VERSION&amp;gt;&lt;/pre&gt;&lt;pre&gt;jsr311-api [LibSpecVersion=1.1.1,LibImplVersion=1.1.1] &amp;lt;ACTIVE VERSION&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;ops-ear&lt;/pre&gt;&lt;pre&gt;webapp&lt;/pre&gt;&lt;pre class="alt"&gt;jackson-jaxrs [LibSpecVersion=1.0,LibImplVersion=1.1.1] &amp;lt;ACTIVE VERSION&amp;gt;&lt;/pre&gt;&lt;pre&gt;jettison [LibSpecVersion=1.1,LibImplVersion=1.1] &amp;lt;ACTIVE VERSION&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;jackson-core-asl [LibSpecVersion=1.0,LibImplVersion=1.1.1] &amp;lt;ACTIVE VERSION&amp;gt;&lt;/pre&gt;&lt;pre&gt;jackson-mapper-asl [LibSpecVersion=1.0,LibImplVersion=1.1.1] &amp;lt;ACTIVE VERSION&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;Number of Applications Found : 9&lt;/pre&gt;&lt;pre&gt;[INFO] ------------------------------------------------------------------------&lt;/pre&gt;&lt;pre class="alt"&gt;[INFO] BUILD SUCCESS&lt;/pre&gt;&lt;pre&gt;[INFO] ------------------------------------------------------------------------&lt;/pre&gt;&lt;pre class="alt"&gt;[INFO] Total time: 6.150s&lt;/pre&gt;&lt;pre&gt;[INFO] Finished at: Mon Feb 21 12:31:22 CST 2011&lt;/pre&gt;&lt;pre class="alt"&gt;[INFO] Final Memory: 12M/81M&lt;/pre&gt;&lt;pre&gt;[INFO] ------------------------------------------------------------------------&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h3&gt;Summary&lt;/h3&gt;In this post, I’ve shown how the the WebLogic Maven Plugin can support the use of secure config files to prevent the need to specify administrator passwords in clear text in the Maven pom.xml.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
I would like to again note that there is a very minor &lt;b&gt;known bug&lt;/b&gt; that prevents this being used with the WLS 10.3.4 release, which has already been fixed&amp;nbsp; in the next release code line.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
If you are wanting to use this feature and need to get a patch, the bug to refer to is #&lt;b&gt;10382796&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-5791702197431495986?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iA-dCkhT6mVKbZHMiQNl6dvdl6I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iA-dCkhT6mVKbZHMiQNl6dvdl6I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iA-dCkhT6mVKbZHMiQNl6dvdl6I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iA-dCkhT6mVKbZHMiQNl6dvdl6I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=8UFrghEsHd4:zqEdNAZ2UWI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/8UFrghEsHd4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/5791702197431495986/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=5791702197431495986&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5791702197431495986?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/5791702197431495986?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/8UFrghEsHd4/using-secure-config-files-with-weblogic.html" title="Using Secure Config Files with the WebLogic Maven Plugin" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_2fxZrJNuQg4/TWHKbViwKOI/AAAAAAAAARU/3GxDD6Xvedg/s72-c/Screen%20shot%202011-02-21%20at%2010.19.28%20AM_thumb%5B7%5D.png?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/02/using-secure-config-files-with-weblogic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFSX88eCp7ImA9Wx9UFkk.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-3309060285012140295</id><published>2011-02-11T13:45:00.003+10:30</published><updated>2011-02-14T11:38:38.170+10:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-14T11:38:38.170+10:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jax-rs" /><category scheme="http://www.blogger.com/atom/ns#" term="weblogic" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans" /><title>Using JAX-RS with WebLogic Server 10.3.4</title><content type="html">&lt;p&gt;There's been a flurry of &lt;a href="http://blogs.sun.com/theaquarium/entry/everyone_talking_about_jax_rs"&gt;blogs&lt;/a&gt; recently about using &lt;a href="http://en.wikipedia.org/wiki/Jax-rs" target="_blank"&gt;JAX-RS&lt;/a&gt;.     &lt;br /&gt;    &lt;br /&gt;It may have slipped under the radar a little, but &lt;strong&gt;WebLogic Server 10.3.4&lt;/strong&gt; now also provides support for deploying applications that use JAX-RS Web Services.     &lt;br /&gt;    &lt;br /&gt;Here's the documentation for it:     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;Programming RESTful Web Services&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://download.oracle.com/docs/cd/E17904_01/web.1111/e13734/rest.htm#WSADV550"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13734/rest.htm#WSADV550&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;With WebLogic Server, the JAX-RS support is handled in the same manner as JSF, in that a set of optional shared-libraries are provided that can be deployed to the server, which makes the JAX-RS framework available for deployed applications to use. Applications then reference these shared-libraries using the relevant weblogic deployment descriptor.     &lt;br /&gt;    &lt;br /&gt;What I'd like to do in this blog is to show JAX-RS working on WebLogic Server 10.3.4 and at the same time, how the &lt;a href="http://netbeans.org/community/releases/70/"&gt;NetBeans 7.0 Beta release&lt;/a&gt; supports WebLogic Server to make the development of JAX-RS based applications quick and efficient by removing some of the work required in deploying and referencing the libraries.&amp;#160; .     &lt;br /&gt;    &lt;br /&gt;&lt;b style="color: #0b5394"&gt;1. Launch NetBeans and register a WebLogic Server 10.3.4 instance.&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;I won't go through the individual steps as this is very straight forward. In my particular case, I have a brand new domain I am using, so there are no applications or shared-libraries deployed.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-KtkBQfdYhYo/TVSZDKafZQI/AAAAAAAAAPQ/iv5itqDYuSw/s1600/Screen+shot+2011-02-11+at+11.57.04+AM.png"&gt;&lt;img src="http://3.bp.blogspot.com/-KtkBQfdYhYo/TVSZDKafZQI/AAAAAAAAAPQ/iv5itqDYuSw/s1600/Screen+shot+2011-02-11+at+11.57.04+AM.png" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;b style="color: #0b5394"&gt;2. Create a new Java EE Web project &lt;/b&gt;    &lt;br /&gt;    &lt;br /&gt;The next step is to create a new Java EE Web project using the NetBeans project wizards. This project will host our JAX-RS resource and is what we will deploy and test on WebLogic Server.     &lt;br /&gt;    &lt;br /&gt;Create a new Java Web Project and fill in the project details.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-U9QTrDShH5U/TVSZu6H5AJI/AAAAAAAAAPY/tgAUhPJOtjg/s1600/Screen+shot+2011-02-11+at+11.59.04+AM.png"&gt;&lt;img src="http://1.bp.blogspot.com/-U9QTrDShH5U/TVSZu6H5AJI/AAAAAAAAAPY/tgAUhPJOtjg/s640/Screen+shot+2011-02-11+at+11.59.04+AM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;For the Server, I specify the WebLogic Server domain that I registered earlier, leave the Context-Path and finish the project creation and click finish to create the new project.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-PApp1ctlLVM/TVSZvxlu1xI/AAAAAAAAAPc/oWQ8wB4KNds/s1600/Screen+shot+2011-02-11+at+11.59.10+AM.png"&gt;&lt;img src="http://1.bp.blogspot.com/-PApp1ctlLVM/TVSZvxlu1xI/AAAAAAAAAPc/oWQ8wB4KNds/s640/Screen+shot+2011-02-11+at+11.59.10+AM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;b style="color: #0b5394"&gt;3. Add a JAX-RS resource to the project.&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;With the Java Web project created, I can now add a new JAX-RS resource to it, again using a NetBeans wizard -- the simplest way to test this is to use the &amp;quot;RESTful Web Services from Patterns&amp;quot; wizard and select the &amp;quot;Simple Root Resource&amp;quot;option.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_2fxZrJNuQg4/TVSZxn8QALI/AAAAAAAAAPg/VL5ZPGrLbXg/s1600/Screen+shot+2011-02-11+at+12.00.12+PM.png"&gt;&lt;img src="http://2.bp.blogspot.com/_2fxZrJNuQg4/TVSZxn8QALI/AAAAAAAAAPg/VL5ZPGrLbXg/s640/Screen+shot+2011-02-11+at+12.00.12+PM.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select the “Simple Root Resource” option.    &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZyw_N9iI/AAAAAAAAAPk/QUzDVAPNqh0/s1600/Screen+shot+2011-02-11+at+12.00.26+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZyw_N9iI/AAAAAAAAAPk/QUzDVAPNqh0/s640/Screen+shot+2011-02-11+at+12.00.26+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;Fill in the details for the resource to be created. In this case, I am specifying a MIME Type of &amp;quot;text/html&amp;quot; to make the default end point easy to test from a browser.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZ0NOP4fI/AAAAAAAAAPo/BIQcnzyccXQ/s1600/Screen+shot+2011-02-11+at+12.01.23+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZ0NOP4fI/AAAAAAAAAPo/BIQcnzyccXQ/s640/Screen+shot+2011-02-11+at+12.01.23+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;On the last page of the wizard, I am presented with options for how to configure the project. NetBeans has knowledge of how WebLogic Server employs JAX-RS and presents them to you.     &lt;br /&gt;    &lt;br /&gt;I select the option to have NetBeans automatically configure the JAX-RS servlet adapter in web.xml and then I select the &amp;quot;Use server bundled Jersey Library&amp;quot; option. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZ1Rfr10I/AAAAAAAAAPs/1wxdKZNpTOM/s1600/Screen+shot+2011-02-11+at+12.01.36+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZ1Rfr10I/AAAAAAAAAPs/1wxdKZNpTOM/s640/Screen+shot+2011-02-11+at+12.01.36+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;The JAX-RS resource is then created and added to the project.     &lt;br /&gt;    &lt;br /&gt;Looking at the project, I can see a number of things have changed:     &lt;br /&gt;    &lt;br /&gt;The existing web.xml descriptor has been modified to expose the Jersey Servlet adapter.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-e3rXJEa8I4w/TVSZ27Wy0lI/AAAAAAAAAPw/N2RKWug_t9M/s1600/Screen+shot+2011-02-11+at+12.02.50+PM.png"&gt;&lt;img src="http://1.bp.blogspot.com/-e3rXJEa8I4w/TVSZ27Wy0lI/AAAAAAAAAPw/N2RKWug_t9M/s640/Screen+shot+2011-02-11+at+12.02.50+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;A new weblogic.xml deployment descriptor has been added, which references the required JAX-RS shared-library that will be deployed on the server.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-akzbOVZREFc/TVSZ4UHlluI/AAAAAAAAAP0/2BVmhrM0QcQ/s1600/Screen+shot+2011-02-11+at+12.03.08+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/-akzbOVZREFc/TVSZ4UHlluI/AAAAAAAAAP0/2BVmhrM0QcQ/s640/Screen+shot+2011-02-11+at+12.03.08+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;And a new class has been added that represents the JAX-RS resource.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-kG4INIzwh7g/TVSZ7bGNSoI/AAAAAAAAAP4/X5B5u79wXNo/s1600/Screen+shot+2011-02-11+at+12.04.19+PM.png"&gt;&lt;img src="http://4.bp.blogspot.com/-kG4INIzwh7g/TVSZ7bGNSoI/AAAAAAAAAP4/X5B5u79wXNo/s640/Screen+shot+2011-02-11+at+12.04.19+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;After editing the generated getHtml method to return a string I'll recognize, the project is ready to be deployed and tested.     &lt;br /&gt;    &lt;br /&gt;&lt;b style="color: #0b5394"&gt;4. Deploy and run the project&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;Selecting &amp;quot;Run&amp;quot; from the project menu, NetBeans will perform the task of compiling and deploying the project to the target WebLogic Server domain.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZ985UeyI/AAAAAAAAAP8/VuZ4-uecIsw/s1600/Screen+shot+2011-02-11+at+12.04.48+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/_2fxZrJNuQg4/TVSZ985UeyI/AAAAAAAAAP8/VuZ4-uecIsw/s640/Screen+shot+2011-02-11+at+12.04.48+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;NetBeans performs the necessary deployment operations.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-fZRHYTbDGUU/TVSaFYUe-OI/AAAAAAAAAQQ/UOmyTGQj91Y/s1600/Screen+shot+2011-02-11+at+12.13.50+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/-fZRHYTbDGUU/TVSaFYUe-OI/AAAAAAAAAQQ/UOmyTGQj91Y/s640/Screen+shot+2011-02-11+at+12.13.50+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;Now the interesting thing that happens as part of this &amp;quot;run&amp;quot; process (and why it takes 27 seconds most likely) is that NetBeans has recognized that the target WebLogic Server domain doesn't have the necessary shared-library that the project is using. To resolve this problem, it seamlessly deploys the required library from the $WL_HOME/common/deployable-libraries directory as part of the deployment process.     &lt;br /&gt;    &lt;br /&gt;Once the deployment of the project has completed, looking at the registered WebLogic Server domain, I can now see the &lt;b&gt;jersey-bundle#1.1.1@1.1.5.1&lt;/b&gt; library present on the server.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-YEjaJYRbRqs/TVSg2lfrZSI/AAAAAAAAAQk/-JRQwUyA9CQ/s1600/Screen+shot+2011-02-11+at+1.06.49+PM.png"&gt;&lt;img src="http://3.bp.blogspot.com/-YEjaJYRbRqs/TVSg2lfrZSI/AAAAAAAAAQk/-JRQwUyA9CQ/s400/Screen+shot+2011-02-11+at+1.06.49+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;We can now test the JAX-RS resource.     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;&lt;span style="color: #0b5394"&gt;5. Test the JAX-RS Resource&lt;/span&gt;&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;Expanding the project, there is a &amp;quot;RESTful Web Services&amp;quot; folder that presents a view of the JAX-RS resources in the project. To test the end-point, I select the method and click the &amp;quot;Test Resource URI&amp;quot; option.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-FV7B5pNXlJ4/TVSZ_nm9VoI/AAAAAAAAAQA/1GtNypBm-IQ/s1600/Screen+shot+2011-02-11+at+12.07.30+PM.png"&gt;&lt;img src="http://4.bp.blogspot.com/-FV7B5pNXlJ4/TVSZ_nm9VoI/AAAAAAAAAQA/1GtNypBm-IQ/s640/Screen+shot+2011-02-11+at+12.07.30+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;This opens a browser window and shows the results of successfully calling the &lt;b&gt;getHtml&lt;/b&gt; method.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-RrmiCfvIfMc/TVSaDem51oI/AAAAAAAAAQI/o9_w-jU0dls/s1600/Screen+shot+2011-02-11+at+12.08.02+PM.png"&gt;&lt;img src="http://1.bp.blogspot.com/-RrmiCfvIfMc/TVSaDem51oI/AAAAAAAAAQI/o9_w-jU0dls/s640/Screen+shot+2011-02-11+at+12.08.02+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;So there you have it, a JAX-RS resource created in NetBeans, deployed and running on WebLogic Server 10.3.4.     &lt;br /&gt;    &lt;br /&gt;As a final piece to add to this blog, I'll also show off another new feature that NetBeans 7.0 has added to further support WebLogic Server. The new &amp;quot;local deployment&amp;quot; model deploys applications from an exploded, local directory. This means that deployment to WebLogic Server is now much better since a code change doesn't require a full packaging and &amp;quot;deployment&amp;quot; cycle to test. In fact, using NetBeans with WebLogic Server nows offer compile-on-save and test functionality!     &lt;br /&gt;    &lt;br /&gt;&lt;b style="color: #0b5394"&gt;6. Add another method and test&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;With the application deployed, I can now change the class to add more functionality. I'll add two new methods that &lt;b&gt;sayHello&lt;/b&gt; and &lt;b&gt;sayBye&lt;/b&gt; to a user. In these methods, I'll use the &lt;b&gt;@PathParam&lt;/b&gt; and &lt;b&gt;@QueryParam&lt;/b&gt; annotations respectively to extract the value from the URI and set it automatically on the method call.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-yqz-rhu497g/TVSaKcz3TyI/AAAAAAAAAQg/4KQ3269zJdg/s1600/Screen+shot+2011-02-11+at+12.23.05+PM.png"&gt;&lt;img src="http://1.bp.blogspot.com/-yqz-rhu497g/TVSaKcz3TyI/AAAAAAAAAQg/4KQ3269zJdg/s640/Screen+shot+2011-02-11+at+12.23.05+PM.png" border="0" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;To test these new methods, all I need to do is save the change, NetBeans automatically compiles the class and I can immediately test if from the browser, without needing to issue a redeployment operation!     &lt;br /&gt;    &lt;br /&gt;First off, let's say hello. I use the path variable here to to specify my name:     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;http://localhost:7001/wls-rs-demo/resources/TestResource/hello/steve&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-LNwnaBKSIIU/TVSaH0qeEPI/AAAAAAAAAQY/RVaCYnreftY/s1600/Screen+shot+2011-02-11+at+12.21.31+PM.png"&gt;&lt;img src="http://2.bp.blogspot.com/-LNwnaBKSIIU/TVSaH0qeEPI/AAAAAAAAAQY/RVaCYnreftY/s400/Screen+shot+2011-02-11+at+12.21.31+PM.png" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;Then I'll say goodbye, this time using a query parameter to specify my name:     &lt;br /&gt;    &lt;br /&gt;&lt;b&gt;http://localhost:7001/wls-rs-demo/resources/TestResource/bye?name=steve&lt;/b&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_2fxZrJNuQg4/TVSaJKolXZI/AAAAAAAAAQc/kD5VD08Clc4/s1600/Screen+shot+2011-02-11+at+12.22.58+PM.png"&gt;&lt;img src="http://2.bp.blogspot.com/_2fxZrJNuQg4/TVSaJKolXZI/AAAAAAAAAQc/kD5VD08Clc4/s400/Screen+shot+2011-02-11+at+12.22.58+PM.png" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;And that's all there is to getting a basic JAX-RS resource up and running on WebLogic Server, developed and deployed in next to no time using NetBeans 7.0.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-3309060285012140295?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H819WmP0e5tyHR6K4J0VaH_4mOA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H819WmP0e5tyHR6K4J0VaH_4mOA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H819WmP0e5tyHR6K4J0VaH_4mOA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H819WmP0e5tyHR6K4J0VaH_4mOA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=tUT6RBJQcYs:v7R0ZmB3UF4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/tUT6RBJQcYs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/3309060285012140295/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=3309060285012140295&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/3309060285012140295?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/3309060285012140295?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/tUT6RBJQcYs/using-jax-rs-with-weblogic-server-1034.html" title="Using JAX-RS with WebLogic Server 10.3.4" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-KtkBQfdYhYo/TVSZDKafZQI/AAAAAAAAAPQ/iv5itqDYuSw/s72-c/Screen+shot+2011-02-11+at+11.57.04+AM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://buttso.blogspot.com/2011/02/using-jax-rs-with-weblogic-server-1034.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AMQXw4cCp7ImA9WxFUFkQ.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-7466288600345093672</id><published>2010-06-28T14:06:00.000+09:30</published><updated>2010-06-28T14:06:20.238+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-28T14:06:20.238+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XCode" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans" /><title>Installing NetBeans 6.9 Fails when XCode is Running</title><content type="html">I've been trying to install the NetBeans 6.9 official release (netbeans-6.9-ml-java-macosx.dmg) but it kept on failing during the "Preparing Installation" phase.&amp;nbsp; No detailed errors were shown other than a generic statement to contact my software vendor.&lt;br /&gt;
&lt;br /&gt;
Turned out, at least on my MacBook&amp;nbsp; Pro, that the cause seemed to be that XCode was running at the same time.&amp;nbsp; As soon as I quit from XCode and ran the NetBeans installer from the same installation package, it worked without any problems and installed NetBeans successfully.&lt;br /&gt;
&lt;br /&gt;
Don't know if this is isolated to NetBeans or more generally to the installer technology used on the Mac, but it seems that there was some contention with Xcode, which resulted in the installer not working.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-7466288600345093672?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LkW0RsM5_Vejo3z7uHjnEw6uxX0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LkW0RsM5_Vejo3z7uHjnEw6uxX0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LkW0RsM5_Vejo3z7uHjnEw6uxX0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LkW0RsM5_Vejo3z7uHjnEw6uxX0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=EvPILaOuMjw:709BYstEsfI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/EvPILaOuMjw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/7466288600345093672/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=7466288600345093672&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7466288600345093672?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/7466288600345093672?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/EvPILaOuMjw/installing-netbeans-69-fails-when-xcode.html" title="Installing NetBeans 6.9 Fails when XCode is Running" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://buttso.blogspot.com/2010/06/installing-netbeans-69-fails-when-xcode.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIDSH07eip7ImA9WxFUE0s.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-8453686641403063230</id><published>2010-06-24T16:26:00.000+09:30</published><updated>2010-06-24T16:26:19.302+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-24T16:26:19.302+09:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title>Dynamically Setting JAVA_HOME on Mac OS X</title><content type="html">This was a new discovery to me today, so please ignore if this is widely used and known.&lt;br /&gt;
&lt;br /&gt;
On Mac OS X, there is a very specific, managed directory structure for the various Java versions that are installed.&amp;nbsp; The general directory is "/System/Library/Frameworks/JavaVM.framework/".&amp;nbsp; For those of us new to Mac OS X, the sub-directories under there look a little foreign.&lt;br /&gt;
&lt;br /&gt;
To run WLS, you need to set JAVA_HOME to the appropriate directory before you can start a domain.&amp;nbsp; Hardcoding the directory into either .bashrc or the startWebLogic.sh scripts does the trick.&lt;br /&gt;
&lt;br /&gt;
But today I stumbled on another little utility that can be used to dynamically determine the current&amp;nbsp; JAVA_HOME, as set in the user preferences:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;NAME
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; java_home - return a value for $JAVA_HOME

SYNOPSIS
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/libexec/java_home [options]

DESCRIPTION
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The&amp;nbsp; java_home&amp;nbsp; command&amp;nbsp; returns&amp;nbsp; a path suitable for setting the JAVA_HOME environment variable.&amp;nbsp; It
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; determines this path from the user's preferred Java in the Java Preferences application.&amp;nbsp;&amp;nbsp; Additional
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; constraints may be provided to filter the list of JVMs available.&amp;nbsp; By default, if no constrants match
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the available list of JVMs, the default order is used.&amp;nbsp; The path is printed to standard output.
&lt;/pre&gt;&lt;br /&gt;
Thus setting JAVA_HOME dynamically in scripts, shell profiles can be done simply like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;export JAVA_HOME=`/usr/libexec/java_home`
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-8453686641403063230?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/av2m8UAqDl8G1EVy8dYqlJJt32Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/av2m8UAqDl8G1EVy8dYqlJJt32Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/av2m8UAqDl8G1EVy8dYqlJJt32Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/av2m8UAqDl8G1EVy8dYqlJJt32Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=7en7J_f8slE:PwCnNyggUg0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/7en7J_f8slE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/8453686641403063230/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=8453686641403063230&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8453686641403063230?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/8453686641403063230?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/7en7J_f8slE/dynamically-setting-javahome-on-mac-os.html" title="Dynamically Setting JAVA_HOME on Mac OS X" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2010/06/dynamically-setting-javahome-on-mac-os.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAHR3Y6eyp7ImA9WxFUEU0.&quot;"><id>tag:blogger.com,1999:blog-13556721.post-2932203968426567664</id><published>2010-06-21T15:42:00.000+09:30</published><updated>2010-06-21T15:42:16.813+09:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-21T15:42:16.813+09:30</app:edited><title>NetBeans 6.9 Released</title><content type="html">I've been using NetBeans 6.8 quite a bit lately to explore new functionality in Java EE 6. &lt;br /&gt;
&lt;br /&gt;
Just noticed on the weekend (somewhat belatedly) that their latest 6.9 version has been finalized and released.&amp;nbsp; At a measly 178mb for the core IDE with Java EE 6 support and an embedded GlassFish v3.0.1 server for the dev/test runtime, it sounds like a download well worth making.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13556721-2932203968426567664?l=buttso.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/INEqikkAhLdP-8bUT0ebtDct-nU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/INEqikkAhLdP-8bUT0ebtDct-nU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/INEqikkAhLdP-8bUT0ebtDct-nU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/INEqikkAhLdP-8bUT0ebtDct-nU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TheButtsoBlathers?a=wf3iUn5YU5k:sX6WDTa4tGo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TheButtsoBlathers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheButtsoBlathers/~4/wf3iUn5YU5k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://buttso.blogspot.com/feeds/2932203968426567664/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=13556721&amp;postID=2932203968426567664&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/2932203968426567664?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/13556721/posts/default/2932203968426567664?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheButtsoBlathers/~3/wf3iUn5YU5k/netbeans-69-released.html" title="NetBeans 6.9 Released" /><author><name>Buttso</name><uri>http://www.blogger.com/profile/03968454565733104381</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://2.bp.blogspot.com/-PiUQuNIOWJs/TVSw3aee66I/AAAAAAAAAQo/IKq6k69n124/s220/Photo%2Bon%2B2010-06-10%2Bat%2B16.09.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://buttso.blogspot.com/2010/06/netbeans-69-released.html</feedburner:origLink></entry></feed>

