I have the following script that starts and stops the weblogic 12.1.3 server without problems, but I can't get it to start in debug, even when I add the line
<jvmarg value="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -XX:PermSize=128m -XX:MaxPermSize=256m"/>
this is the complete script
<?xml version="1.0"?>
<!DOCTYPE project>
<project name="WeblogicServer" default="start-server" basedir="/Users/E3/Oracle/Middleware/Oracle_Home">
<property name="bea.home" value="/Users/E3/Oracle/Middleware/Oracle_Home" />
<property name="weblogic.home" value="/Users/E3/Oracle/Middleware/Oracle_Home/wlserver" />
<property name="domain.home" value="/Users/E3/Oracle/Middleware/Oracle_Home/user_projects/domains" />
<property name="domain.name" value="base_domain" />
<property name="host" value="localhost" />
<property name="port" value="7001" />
<property name="username" value="weblogic" />
<property name="password" value="weblogic123" />
<property name="admin.server.name" value="AdminServer" />
<path id="wls.classpath">
<fileset dir="${weblogic.home}/server/lib">
<include name="web*.jar"/>
</fileset>
</path>
<taskdef name="wlserver" classname="weblogic.ant.taskdefs.management.WLServer" classpathref="wls.classpath"/>
<target name="start-server" >
<wlserver dir="${domain.home}/${domain.name}"
host="${host}"
port="${port}"
domainname="${domain.name}"
servername="${admin.server.name}"
action="start"
username="${username}"
password="${password}"
beahome="${bea.home}"
weblogichome="${weblogic.home}"
verbose="true"
noexit="true"
protocol="t3"
classpath="${weblogic.home}/server/lib/weblogic.jar" >
<jvmarg value="-server"/>
<jvmarg value="-Xms256m"/>
<jvmarg value="-Xmx512m"/>
<jvmarg value="-XX:PermSize=128m"/>
<jvmarg value="-XX:MaxPermSize=256m"/>
<jvmarg value="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -XX:PermSize=128m -XX:MaxPermSize=256m"/>
</wlserver>
</target>
<target name="stop-server">
<wlserver dir="${domain.home}/${domain.name}"
host="${host}"
port="${port}"
servername="${admin.server.name}"
username="${username}"
password="${password}"
action="shutdown"
beahome="${bea.home}"
weblogichome="${weblogic.home}"
forceshutdown="true"/>
</target>
</project>
What could I be missing?
I was reading in several places that the debug option should be added, but it doesn't work for me
This jvmarg:
<jvmarg value="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -XX:PermSize=128m -XX:MaxPermSize=256m"/>
Is being passed to the java executable as a single argument, with embedded spaces, rather than a series of separate arguments. Break it up into separate jvmargs.
You can see what's happening in the call to the java executable by running ant with the -d command-line option:
$ ant -d
...
Execute:Java13CommandLauncher: Executing '/.../bin/java'
with arguments:
'-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -XX:PermSize=128m -XX:MaxPermSize=256m'
'package.and.classname'
Notice how your jvmargs is a single string in the debug output.