Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4587752
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T21:49:30+00:00 2026-05-21T21:49:30+00:00

I’m at my wit’s end. I’m spending more time working on getting my build

  • 0

I’m at my wit’s end. I’m spending more time working on getting my build to work rather than actually developing software. I’m currently working on large-scale Java web application based on Tomcat 6.

Currently the code-base is about 25k LOC (although that’s not quite representative because some of that is autogenerated for web services — but the take away is that it’s big) and I’ve been working exclusively with eclipse to do everything from debugging, to build path management to building. In the past, eclipse has always been more than enough, but I’ve never worked on a project this large before.

The first problem I had was when I started adding GWT content. It worked ok, but the build process was a bit hacky: I had to manually compile and then copy the js output into the appropriate directory and debugging was a nightmare (I realize some of those problems are just GWT and the way it works…). Now, the issue I’m running into is attempting to work on the project on a Windows machine (I had been working on a Mac, and will continue to work from a Mac from time to time). Eclipse added the Mac OS JVM libraries to the build path which, of course, Windows can’t find.

I asked a question about working in two different environments and most of the answers pertained to using a build tool like Ant+Ivy or Maven. I’ve started investigating Maven and attempting to get my project to use it, but it’s just been one headache after another and I haven’t even begun to try to actually execute/debug my application in Tomcat through eclipse. The most frustrating part of all of this is it, to me, seems like these build tools are exceptionally complex (and to be fair, incredibly flexible) but, at least initially, make life even more difficult while you try to figure out how to simply compile a Java file.

So all of that to say, does anybody have suggestions for how to simplify this scenario? Dependency management would be nice, but I don’t mind hunting down the JARs myself. The biggest thing I need is something that will just get out of my way and let me work on what I’m actually trying to work on, not spend hours debugging my typos in an xml file used by the build system.

Thanks in advance

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T21:49:31+00:00Added an answer on May 21, 2026 at 9:49 pm

    I agree. You don’t need Maven; you don’t need Ivy. Start with Ant.

    Here’s a relatively generic Ant build.xml. Customize it as you wish.

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="xslt-converter" basedir="." default="package">
    
        <property name="version" value="1.6"/>
        <property name="haltonfailure" value="no"/>
    
        <property name="out" value="out"/>
    
        <property name="production.src" value="src"/>
        <property name="production.lib" value="lib"/>
        <property name="production.resources" value="config"/>
        <property name="production.classes" value="${out}/production/${ant.project.name}"/>
    
        <property name="test.src" value="test"/>
        <property name="test.lib" value="lib"/>
        <property name="test.resources" value="config"/>
        <property name="test.classes" value="${out}/test/${ant.project.name}"/>
    
        <property name="exploded" value="out/exploded/${ant.project.name}"/>
        <property name="exploded.classes" value="${exploded}/WEB-INF/classes"/>
        <property name="exploded.lib" value="${exploded}/WEB-INF/lib"/>
    
        <property name="reports.out" value="${out}/reports"/>
        <property name="junit.out" value="${reports.out}/junit"/>
        <property name="testng.out" value="${reports.out}/testng"/>
    
        <path id="production.class.path">
            <pathelement location="${production.classes}"/>
            <pathelement location="${production.resources}"/>
            <fileset dir="${production.lib}">
                <include name="**/*.jar"/>
                <exclude name="**/junit*.jar"/>
                <exclude name="**/*test*.jar"/>
            </fileset>
        </path>
    
        <path id="test.class.path">                            
            <path refid="production.class.path"/>
            <pathelement location="${test.classes}"/>
            <pathelement location="${test.resources}"/>
            <fileset dir="${test.lib}">
                <include name="**/junit*.jar"/>
                <include name="**/*test*.jar"/>
            </fileset>
        </path>
    
        <path id="testng.class.path">
            <fileset dir="${test.lib}">
                <include name="**/testng*.jar"/>
            </fileset>
        </path>
    
        <available file="${out}" property="outputExists"/>
    
        <target name="clean" description="remove all generated artifacts" if="outputExists">
            <delete dir="${out}" includeEmptyDirs="true"/>
            <delete dir="${reports.out}" includeEmptyDirs="true"/>
        </target>
    
        <target name="create" description="create the output directories" unless="outputExists">
            <mkdir dir="${production.classes}"/>
            <mkdir dir="${test.classes}"/>
            <mkdir dir="${reports.out}"/>
            <mkdir dir="${junit.out}"/>
            <mkdir dir="${testng.out}"/>
            <mkdir dir="${exploded.classes}"/>
            <mkdir dir="${exploded.lib}"/>
        </target>
    
        <target name="compile" description="compile all .java source files" depends="create">
            <!-- Debug output
                    <property name="production.class.path" refid="production.class.path"/>
                    <echo message="${production.class.path}"/>
            -->
            <javac srcdir="src" destdir="${out}/production/${ant.project.name}" debug="on" source="${version}">
                <classpath refid="production.class.path"/>
                <include name="**/*.java"/>
                <exclude name="**/*Test.java"/>
            </javac>
            <javac srcdir="${test.src}" destdir="${out}/test/${ant.project.name}" debug="on" source="${version}">
                <classpath refid="test.class.path"/>
                <include name="**/*Test.java"/>
            </javac>
        </target>
    
        <target name="junit-test" description="run all junit tests" depends="compile">
            <!-- Debug output
                    <property name="test.class.path" refid="test.class.path"/>
                    <echo message="${test.class.path}"/>
            -->
            <junit printsummary="yes" haltonfailure="${haltonfailure}">
                <classpath refid="test.class.path"/>
                <formatter type="xml"/>
                <batchtest fork="yes" todir="${junit.out}">
                    <fileset dir="${test.src}">
                        <include name="**/*Test.java"/>
                    </fileset>
                </batchtest>
            </junit>
            <junitreport todir="${junit.out}">
                <fileset dir="${junit.out}">
                    <include name="TEST-*.xml"/>
                </fileset>
                <report todir="${junit.out}" format="frames"/>
            </junitreport>
        </target>
    
        <taskdef resource="testngtasks" classpathref="testng.class.path"/>
        <target name="testng-test" description="run all testng tests" depends="compile">
            <!-- Debug output
                    <property name="test.class.path" refid="test.class.path"/>
                    <echo message="${test.class.path}"/>
            -->
            <testng classpathref="test.class.path" outputDir="${testng.out}" haltOnFailure="${haltonfailure}" verbose="2" parallel="methods" threadcount="50">
                <classfileset dir="${out}/test/${ant.project.name}" includes="**/*.class"/>
            </testng>
        </target>
    
        <target name="exploded" description="create exploded deployment" depends="testng-test">
            <copy todir="${exploded.classes}">
                <fileset dir="${production.classes}"/>
            </copy>
            <copy todir="${exploded.lib}">
                <fileset dir="${production.lib}"/>
            </copy>
        </target>
    
        <target name="package" description="create package file" depends="exploded">
            <jar destfile="${out}/${ant.project.name}.jar" basedir="${production.classes}" includes="**/*.class"/>
        </target>
    
    </project>
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
In my XML file chapters tag has more chapter tag.i need to display chapters
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
We're building an app, our first using Rails 3, and we're having to build
I'm working with an upstream system that sometimes sends me text destined for HTML/XML
I have a .ini file as follows: [playlist] numberofentries=2 File1=http://87.230.82.17:80 Title1=(#1 - 365/1400) Example
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have just tried to save a simple *.rtf file with some websites and
I want to count how many characters a certain string has in PHP, but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.