Вообще то существует Oracle plugin для эклипса, но дело в том что мне он весь ни к чему. А весь он жутко тормозит IDE. Так как все проекты в основном подкреплены скриптами, ведь в любом случае надеяться на IDE как на инструмент который скомпилирует, запакует и развернет проект - нельзя, к сожалению опыт показывает что айдиишки ломаются по самым разным причинам, из за какого нибудь плагина который и нанесет ему урон). Надежную структуру проекту придает скрипт, он дает ему силу, возможность оказывать действие и пользу, как каркас плотно связывающий бесполезные доски корабля. Но если без философии, то вот как можно установить debugging и запуск Weblogic сервера из эклипса.
Запуск
1) Зайдите в созданную папку bin доменa и откройте файл startWebLogic.cmd - это на Windows. Вот этот файл:
2) Добавьте туда вот этот кусок:
Suspend=n означает что Debuger не будет ждать запуска listener с порта 8000.
Вот файл целиком:
Файл этот используется для запуска сервера. Сохраните файл как нибудь в той-же папке, я свой назвал - startWebLogicInDebug.cmd
3) В эклипсе добавьте External tool configurations, для это-го идите в:
Там создайте 2 конфигурации, для запуска и для стопа:
В Location укажите на файлы для запуска, это вот новый подготовленный файл, и файл для стопа, он в той-же директории.
Debuggin
В эклипсе зайдите в:
А там:
Вот и все. Теперь в начале запускаем сервер, потом Debug. В Debug, в табе Source, вы можете указать проекты по которым желаете пройтись во время работы сервера.
Запуск
1) Зайдите в созданную папку bin доменa и откройте файл startWebLogic.cmd - это на Windows. Вот этот файл:
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\technokon\bin\startWebLogic.cmd
2) Добавьте туда вот этот кусок:
@REM set debug options set JAVA_OPTIONS=%JAVA_OPTIONS% -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
Suspend=n означает что Debuger не будет ждать запуска listener с порта 8000.
Вот файл целиком:
@ECHO OFF @REM WARNING: This file is created by the Configuration Wizard. @REM Any changes to this script may be lost when adding extensions to this configuration. SETLOCAL @REM --- Start Functions --- GOTO :ENDFUNCTIONS :stopAll @REM We separate the stop commands into a function so we are able to use the trap command in Unix (calling a function) to stop these services if NOT "X%ALREADY_STOPPED%"=="X" ( GOTO :EOF ) @REM STOP DERBY (only if we started it) if "%DERBY_FLAG%"=="true" ( echo Stopping Derby server... call "%WL_HOME%\common\derby\bin\stopNetworkServer.cmd" >"%DOMAIN_HOME%\derbyShutdown.log" 2>&1 echo Derby server stopped. ) set ALREADY_STOPPED=true GOTO :EOF :classCaching echo Class caching enabled... set JAVA_OPTIONS=%JAVA_OPTIONS% -Dlaunch.main.class=%SERVER_CLASS% -Dlaunch.class.path="%CLASSPATH%" -Dlaunch.complete=weblogic.store.internal.LockManagerImpl -cp %WL_HOME%\server\lib\pcl2.jar set SERVER_CLASS=com.oracle.classloader.launch.Launcher GOTO :EOF :ENDFUNCTIONS @REM --- End Functions --- @REM ************************************************************************* @REM This script is used to start WebLogic Server for this domain. @REM @REM To create your own start script for your domain, you can initialize the @REM environment by calling @USERDOMAINHOME\setDomainEnv. @REM @REM setDomainEnv initializes or calls commEnv to initialize the following variables: @REM @REM BEA_HOME - The BEA home directory of your WebLogic installation. @REM JAVA_HOME - Location of the version of Java used to start WebLogic @REM Server. @REM JAVA_VENDOR - Vendor of the JVM (i.e. BEA, HP, IBM, Sun, etc.) @REM PATH - JDK and WebLogic directories are added to system path. @REM WEBLOGIC_CLASSPATH @REM - Classpath needed to start WebLogic Server. @REM PATCH_CLASSPATH - Classpath used for patches @REM PATCH_LIBPATH - Library path used for patches @REM PATCH_PATH - Path used for patches @REM WEBLOGIC_EXTENSION_DIRS - Extension dirs for WebLogic classpath patch @REM JAVA_VM - The java arg specifying the VM to run. (i.e. @REM - server, -hotspot, etc.) @REM USER_MEM_ARGS - The variable to override the standard memory arguments @REM passed to java. @REM PRODUCTION_MODE - The variable that determines whether Weblogic Server is started in production mode. @REM DERBY_HOME - Derby home directory. @REM DERBY_CLASSPATH @REM - Classpath needed to start Derby. @REM @REM Other variables used in this script include: @REM SERVER_NAME - Name of the weblogic server. @REM JAVA_OPTIONS - Java command-line options for running the server. (These @REM will be tagged on to the end of the JAVA_VM and @REM MEM_ARGS) @REM SAVE_MEMORY - Put server in a mode where it is frugal with memory, potentially sacrificing performance to do so. @REM CLASS_CACHE - Enable class caching of system classpath. @REM PROXY_SETTINGS - These are tagged on to the end of the JAVA_OPTIONS. This variable is deprecated and should not @REM be used. Instead use JAVA_OPTIONS @REM @REM For additional information, refer to "Administering Server Startup and Shutdown for Oracle WebLogic Server" @REM ************************************************************************* @REM Call setDomainEnv here. set DOMAIN_HOME=C:\Oracle\Middleware\Oracle_Home\user_projects\domains\technokon for %%i in ("%DOMAIN_HOME%") do set DOMAIN_HOME=%%~fsi call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %* set SAVE_JAVA_OPTIONS=%JAVA_OPTIONS% set SAVE_CLASSPATH=%CLASSPATH% @REM Start Derby set DERBY_DEBUG_LEVEL=0 if "%DERBY_FLAG%"=="true" ( call "%WL_HOME%\common\derby\bin\startNetworkServer.cmd" >"%DOMAIN_HOME%\derby.log" 2>&1 ) set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS% set SAVE_JAVA_OPTIONS= set CLASSPATH=%SAVE_CLASSPATH% set SAVE_CLASSPATH= if "%PRODUCTION_MODE%"=="true" ( set WLS_DISPLAY_MODE=Production ) else ( set WLS_DISPLAY_MODE=Development ) if NOT "%WLS_USER%"=="" ( set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.management.username=%WLS_USER% ) if NOT "%WLS_PW%"=="" ( set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.management.password=%WLS_PW% ) if NOT "%MEDREC_WEBLOGIC_CLASSPATH%"=="" ( if NOT "%CLASSPATH%"=="" ( set CLASSPATH=%CLASSPATH%;%MEDREC_WEBLOGIC_CLASSPATH% ) else ( set CLASSPATH=%MEDREC_WEBLOGIC_CLASSPATH% ) ) @REM set debug options set JAVA_OPTIONS=%JAVA_OPTIONS% -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n echo . echo . echo JAVA Memory arguments: %MEM_ARGS% echo . echo CLASSPATH=%CLASSPATH% echo . echo PATH=%PATH% echo . echo *************************************************** echo * To start WebLogic Server, use a username and * echo * password assigned to an admin-level user. For * echo * server administration, use the WebLogic Server * echo * console at http:\\hostname:port\console * echo *************************************************** @REM SAVE MEMORY if exist %WL_HOME%\server\bin\saveMemory ( call "%WL_HOME%\server\bin\saveMemory.cmd" ) @REM CLASS CACHING if "%CLASS_CACHE%"=="true" ( CALL :classCaching ) @REM START WEBLOGIC echo starting weblogic with Java version: %JAVA_HOME%\bin\java %JAVA_VM% -version if "%WLS_REDIRECT_LOG%"=="" ( echo Starting WLS with line: echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WLS_POLICY_FILE% %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WLS_POLICY_FILE% %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% ) else ( echo Redirecting output from WLS window to %WLS_REDIRECT_LOG% %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WLS_POLICY_FILE% %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1 ) CALL :stopAll popd @REM Exit this script only if we have been told to exit. if "%doExitFlag%"=="true" ( exit ) ENDLOCAL
Файл этот используется для запуска сервера. Сохраните файл как нибудь в той-же папке, я свой назвал - startWebLogicInDebug.cmd
3) В эклипсе добавьте External tool configurations, для это-го идите в:
Run -> External Tools -> External Tools Configurations...
Там создайте 2 конфигурации, для запуска и для стопа:
В Location укажите на файлы для запуска, это вот новый подготовленный файл, и файл для стопа, он в той-же директории.
Debuggin
В эклипсе зайдите в:
Run -> Debug Configurations...
А там:
Вот и все. Теперь в начале запускаем сервер, потом Debug. В Debug, в табе Source, вы можете указать проекты по которым желаете пройтись во время работы сервера.
No comments:
Post a Comment