2015-04-01 6 views
2

Мне нужно отлаживать JSP-файлы с помощью Eclipse и JBoss. У меня очень большой проект. Я сделал удаленную отладку. Я настроил JBoss и создал конфигурацию отладки в Eclipse. Если я поставил точку останова в некотором месте внутри класса java - все работает хорошо, и выполнение останавливается в этой точке останова. Но тогда я пытаюсь сделать то же самое, что и в JSP-файле, не останавливается на моей точке останова. Что я должен сделать, чтобы сделать контрольные точки JSP?Отладка JSP с использованием Eclipse и JBoss

После сборки и компиляции я получаю файл уха.

Я использую Eclipse Luna для разработчиков Java EE и JBoss Application Server 7.1.1.

Я устанавливаю точки останова на java-код внутри файла jsp. JBoss начинается с ВАТ файла:

@echo off 
rem ------------------------------------------------------------------------- 
rem JBoss Bootstrap Script for Windows 
rem ------------------------------------------------------------------------- 

rem $Id$ 

@if not "%ECHO%" == "" echo %ECHO% 
@if "%OS%" == "Windows_NT" setlocal 

if "%OS%" == "Windows_NT" (
    set "DIRNAME=%~dp0%" 
) else (
    set DIRNAME=.\ 
) 

rem Read an optional configuration file. 
if "x%STANDALONE_CONF%" == "x" (
    set "STANDALONE_CONF=%DIRNAME%standalone.conf.bat" 
) 
if exist "%STANDALONE_CONF%" (
    echo Calling "%STANDALONE_CONF%" 
    call "%STANDALONE_CONF%" %* 
) else (
    echo Config file not found "%STANDALONE_CONF%" 
) 

pushd %DIRNAME%.. 
set "RESOLVED_JBOSS_HOME=%CD%" 
popd 

if "x%JBOSS_HOME%" == "x" (
    set "JBOSS_HOME=%RESOLVED_JBOSS_HOME%" 
) 

pushd "%JBOSS_HOME%" 
set "SANITIZED_JBOSS_HOME=%CD%" 
popd 

if "%RESOLVED_JBOSS_HOME%" NEQ "%SANITIZED_JBOSS_HOME%" (
    echo WARNING JBOSS_HOME may be pointing to a different installation - unpredictable results may occur. 
) 

set DIRNAME= 

if "%OS%" == "Windows_NT" (
    set "PROGNAME=%~nx0%" 
) else (
    set "PROGNAME=standalone.bat" 
) 

rem Setup JBoss specific properties 
set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xnoagent 
set JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=6687,server=y,suspend=n 
set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME% 
set JAVA_OPTS=%JAVA_OPTS% -Dlog4j.ignoreTCL=true 
set JAVA_OPTS=%JAVA_OPTS% -Dwin.debug=0 
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true 
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx2024m -XX:MaxPermSize=1024m 
set JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=C:/java/jdk1.7.0_25/jre/lib/security/cacerts 
set JAVA_HOME=C:\Java\jdk1.7.0_25\ 

if "x%JAVA_HOME%" == "x" (
    set JAVA=java 
    echo JAVA_HOME is not set. Unexpected results may occur. 
    echo Set JAVA_HOME to the directory of your local JDK to avoid this message. 
) else (
    set "JAVA=%JAVA_HOME%\bin\java" 
) 

if not "%PRESERVE_JAVA_OPTS%" == "true" (
    rem Add -client to the JVM options, if supported (32 bit VM), and not overriden 
    echo "%JAVA_OPTS%" | findstr /I \-server > nul 
    if errorlevel == 1 (
    "%JAVA%" -client -version 2>&1 | findstr /I /C:"Client VM" > nul 
    if not errorlevel == 1 (
     set "JAVA_OPTS=-client %JAVA_OPTS%" 
    ) 
) 

    rem Add compressed oops, if supported (64 bit VM), and not overriden 
    echo "%JAVA_OPTS%" | findstr /I "\-XX:\-UseCompressedOops \-client" > nul 
    if errorlevel == 1 (
    "%JAVA%" -XX:+UseCompressedOops -version > nul 2>&1 
    if not errorlevel == 1 (
     set "JAVA_OPTS=-XX:+UseCompressedOops %JAVA_OPTS%" 
    ) 
) 

    rem Add tiered compilation, if supported (64 bit VM), and not overriden 
    echo "%JAVA_OPTS%" | findstr /I "\-XX:\-TieredCompilation \-client" > nul 
    if errorlevel == 1 (
    "%JAVA%" -XX:+TieredCompilation -version > nul 2>&1 
    if not errorlevel == 1 (
     set "JAVA_OPTS=-XX:+TieredCompilation %JAVA_OPTS%" 
    ) 
) 
) 

rem Find jboss-modules.jar, or we can't continue 
if exist "%JBOSS_HOME%\jboss-modules.jar" (
    set "RUNJAR=%JBOSS_HOME%\jboss-modules.jar" 
) else (
    echo Could not locate "%JBOSS_HOME%\jboss-modules.jar". 
    echo Please check that you are in the bin directory when running this script. 
    goto END 
) 

rem Setup JBoss specific properties 

rem Setup the java endorsed dirs 
set JBOSS_ENDORSED_DIRS=%JBOSS_HOME%\lib\endorsed 

rem Set default module root paths 
if "x%JBOSS_MODULEPATH%" == "x" (
    set "JBOSS_MODULEPATH=%JBOSS_HOME%\modules" 
) 

rem Set the standalone base dir 
if "x%JBOSS_BASE_DIR%" == "x" (
    set "JBOSS_BASE_DIR=%JBOSS_HOME%\standalone" 
) 
rem Set the standalone log dir 
if "x%JBOSS_LOG_DIR%" == "x" (
    set "JBOSS_LOG_DIR=%JBOSS_BASE_DIR%\log" 
) 
rem Set the standalone configuration dir 
if "x%JBOSS_CONFIG_DIR%" == "x" (
    set "JBOSS_CONFIG_DIR=%JBOSS_BASE_DIR%/configuration" 
) 

echo =============================================================================== 
echo. 
echo JBoss Bootstrap Environment 
echo. 
echo JBOSS_HOME: %JBOSS_HOME% 
echo. 
echo JAVA: %JAVA% 
echo. 
echo JAVA_OPTS: %JAVA_OPTS% 
echo. 
echo =============================================================================== 
echo. 

:RESTART 
"%JAVA%" %JAVA_OPTS%^
"-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\boot.log"^
"-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties"^
    -jar "%JBOSS_HOME%\jboss-modules.jar"^
    -mp "%JBOSS_MODULEPATH%"^
    -jaxpmodule "javax.xml.jaxp-provider"^
    org.jboss.as.standalone^
    -Djboss.home.dir="%JBOSS_HOME%"^
    %* 

if ERRORLEVEL 10 goto RESTART 

:END 
if "x%NOPAUSE%" == "x" pause 

:END_NO_PAUSE 

Я не использую инструменты JBoss, но я читаю, как использовать их сейчас. Я не могу ddebug перед тем, как поместить его в EAR-файл, потому что это огромный проект, и все зависит от всего.

+0

Почему бы не использовать firebug для части javascript в Firefox или консоли в Chrome? Я использую этот смешанный режим, и он работает хорошо. (Помните в Chrome CTRL-P, чтобы найти js-файл - это экономия времени). – JFPicard

+1

http://programmers.stackexchange.com/questions/40564/how-can-i-debug-a-jsp – Rahul

+0

@JFPicard, мне нужно отлаживать код Java, а не код javascript. –

ответ

1

У меня есть эта проблема тоже. Я использую Eclipse Luna + JBoss Tools (Luna) + JBoss 7.1.1 Final. JBoss будет запущен с Eclipse в модуле отладки. Но в JSP никто не работает с ошибками, только в файлах классов. я обнаружил, что это ошибка в JBoss 7.1.x (https://developer.jboss.org/message/723813)

Скачал EAP 6.1 (старое название - JBoss 7.2.0) - она ​​работает идеально с JBoss Tools (Luna) 4.2.3 Final.

+0

Я нашел решение и отредактировал свой ответ;) – user2883335

Смежные вопросы