views:

854

answers:

2

I'm running an exploded war on weblogic 10.0 in production mode.

I want to modify a jsp without having to fully redeploy the application. I can't seem to achieve this using the weblogic.Deployer with a partial redployment - see:

http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs100/deployment/redeploy.html#wp1025739

This must be a fairly standard problem - has anyone got a solution?

A: 

Hi,

I'm sure that the problem is the "production" mode, that it should prevent the JSP refresh.

Tomcat disables the JSP refresh in production mode too.

Regards.

ATorras
+1  A: 

According to the link you have provided, weblogic.Deployer is your friend:

Updating Static Files in a Deployed Application

In a production environment, you may occasionally need to refresh the static content of a Web application module—HTML files, image files, JSPs, and so forth—without redeploying the entire application. If you deployed a Web application or an Enterprise Application as an exploded archive directory, you can use the weblogic.Deployer utility to update one or more changed static files in-place. See Avoiding Unnecessary JSP Compilation on dev2dev.comTuning Web Applications.

To redeploy a single file associated within a deployment unit, specify the file name at the end of the redeploy command. For example:

java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic
   -password weblogic -name myApp -redeploy myApp/copyright.html

Always specify the pathname to updated files relative to the root directory of the exploded archive directory. In the above example, the Web application is deployed as part of an Enterprise Application, so the module directory is specified (myApp/copyright.html).

If the Web application module had been deployed as a stand-alone module, rather than as part of an Enterprise Application, the file would have been specified alone (copyright.html).

You can also redeploy an entire directory of files by specifying a directory name instead of a single file. For example:

java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic
   -password weblogic -name myApp -redeploy myApp/myjsps

In the above example, all files and subdirectories located in the myjsps subdirectory of the Enterprise Application are redeployed in-place.

AFAIK, this apply to the production mode too. So it must be a syntax problem in the command you use.

Pascal Thivent