• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Devaka Cooray
  • Ron McLeod
  • Jeanne Boyarsky
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Piet Souris
  • Carey Brown
  • Tim Holloway
Bartenders:
  • Martijn Verburg
  • Frits Walraven
  • Himai Minh

Cannot build war with Spring Beans File included

 
Ranch Hand
Posts: 92
Eclipse IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,

I'm creating my first web project, and having completed the coding using Java, Spring and Apache Commons , I'm trying to use Ant to build the project.

You can browse the project source tree here.

Simply put, the Spring Beans File (footballamangerroles.xml) resides within a package (com.mcparland.john.footballmanagerroles.config). There are config files one level down from there too ([dev|prod]/footballamangerroles_log4j.properties).

However when I build the project, using Ant, the config directory is completely missing! See the image below.



I would have expected a config dir with all the config files (and subdirectories) in there. I note also that the war itself does not include the config dir.

Here is my build file (also here);



Additionally, when I try to launch my web application, I see the following;



Please let me know if there is a way I can ensure the Spring Beans File is included in the War and the application can launch.

Thanks,

John
 
author
Posts: 5856
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Where are your config files located in your project? If they are in the same location as the .java source files, you will need to copy then over to the classes directory (the <javac> task doesn't copy properties file)
 
John McParland
Ranch Hand
Posts: 92
Eclipse IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Peter Johnson wrote:Where are your config files located in your project? If they are in the same location as the .java source files, you will need to copy then over to the classes directory (the <javac> task doesn't copy properties file)



Hi Peter.

The config files are within the packages. E.g.

main/packages is the main SOURCE root.

All packages start with name com.mcpaland.john.footballmanagerroles

Under the directory main/packages/com/mcparlan/john/footballmanagerroles there is the "config" directory, and many other directories. The config directory contains the Spring XML file, while other directories contain Java source code.

I understand what you say about copying the files over - but where exactly should this be? I've tried messing around with it myself, but while that allows the War to contain the Spring XML file, it does not let Tomcat launch it!

John
 
John McParland
Ranch Hand
Posts: 92
Eclipse IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I finally figured this out. Peter was right that I needed a copy. I put this in.



As part of the the copy task and it worked! That said, I did have to simplify the structure, to do away with different mode-controlled directories for the properties files. I'll look to add this back in later.

After this I looked at why the application would not launch. As it turned out, when I looked at the Tomcat logs, I found that because I had already deployed an application with the same name Tomcat wouldn't allow it. The lesson is to clean-up your applications...

More checking of the logs led to uncovering problems with file locations etc but in the end it now works!

Thanks!
 
Note to self: don't get into a fist fight with a cactus. Command this tiny ad to do it:
the value of filler advertising in 2021
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic