Deploying a WAR in Tomcat / Eclipse

后端 未结 4 2042
广开言路
广开言路 2021-02-08 15:29

I use Tomcat 6.0 and Eclipse 3.0 under Linux and I try to deploy a WAR in Tomcat. The problem is that the server is managed by Eclipse and I have some Eclipse project deployed.

相关标签:
4条回答
  • 2021-02-08 16:04

    This is old but is one of the first answers in google search.

    You can import the war file:

    A Web Archive (WAR) file is a portable, packaged Web application that you can import into your workspace.

    Before importing a WAR file, you should first determine if the WAR file contains needed Java™ source files. When importing a WAR file into an existing Web project, the imported Web deployment descriptor files are either not changed or overwritten by the ones included in the imported WAR file, based on your response to the prompt that is provided. In either case, this action does not represent a merging of the two sets of deployment descriptors.

    To import the Web project resources in a WAR file into your workspace, complete the following steps:

    1. Select File > Import .
    2. In the Import dialog, select WAR file and then click Next.
    3. Locate the WAR file that you want to import using the Browse button.
    4. The wizard assumes you want to create a new Web project with the same name as the WAR file. If you accept this choice, the project will be created with the same servlet version as specified by the WAR file and in the same location. If you want to override these settings, you can click New and specify your new settings in the Dynamic Web Project wizard.
    5. Click Finish to populate the Web project.

    Source: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html

    0 讨论(0)
  • 2021-02-08 16:17

    Yes, in a way, you can deploy a war in the dev mode.

    I have the same problem.

    I have an Eclipse webapp project, which Eclipse deploys to an instance of Tomcat run by Eclipse, so I can hot-edit the project.

    This Web project needs to use resources published by another webapp that has to be run within the same instance of Tomcat. The other webapp is a completed project by someone else, so it is already in a war form.

    I needed to File->Import the war as an Eclipse project and let Eclipse deploy it to the same instance of Eclipse, in order to run it in the same instance of Tomcat in which my webapp also runs.

    The problem is that some wars work this way but some others do not, while all of them work perfectly fine in a stand-alone Tomcat (started by startup.sh). I can't figure out why.

    0 讨论(0)
  • 2021-02-08 16:28

    Tomcat behaves differently in development and production mode. When you develop your webapp in Eclipse there is no reason to deploy a WAR file of your application as a WAR during development.

    Just go to the "servers" view and add a new server (you should already have done this otherwise you could not create your Dynamic Web project). In the server view you should see the server you created (Tomcat at localhost or something similar) just right click it and go to the Add and Remove section. Here you can add and remove the Dynamic Web projects you created in Eclipse. Once you added your project, all you have to do is click the green start button in the servers view and your app should be available in at localhost:8080/mycontext.

    When you're done building your app just right click the project and go the the Export section in the menu. You should be able to export a WAR file. Once you have your WAR file you can upload and deploy that on a Tomcat instance that is NOT tied to Eclipse running in dev mode.

    0 讨论(0)
  • 2021-02-08 16:30

    If all you have is a binary WAR (no source code), it cannot be installed within Eclipse. This can happen in certain scenarios outside of normal development workflows. Here's the work-around solution:

    1. Launch another instance of Tomcat (outside Eclipse).
    2. Modify the tomcat-users.xml file to enable admin
    3. Go to http://localhost:8080/manager/html
    4. Scroll down to WAR file to deploy
    5. Click Choose File (next to Select WAR file to upload) and click Deploy.
    0 讨论(0)
提交回复
热议问题