I try to write a simple Spring 3 console application. I Cant get this application to run, i always get the error, that there is no main method. My system is an Ubuntu 12.04 with openjdk-7 installed, and the sts 2.9.2-release. A simple hello world runs without any problems Edit:(i tested a other project to prove a simple hello world would run).
The Project is managed over maven and i got no errors so far.
I try to reproduce an exsample of a book as follow:
XmlConfigWithBeanFactory.java
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.core.io.FileSystemResource;
public class XmlConfigWithBeanFactory {
public static void main(String[] args) {
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader rdr = new XmlBeanDefinitionReader(factory);
rdr.loadBeanDefinitions(new FileSystemResource(
"src/xmlBeanFactory.xml"));
Oracle oracle = (Oracle) factory.getBean("oracle");
System.out.println(oracle.defineMeaningOfLife());
}
}
Oracle.java
public interface Oracle {
public String defineMeaningOfLife();
}
BookwormOracle.java
public class BookwormOracle implements Oracle {
public String defineMeaningOfLife() {
return "Encyclopedias are a waste of money - use the Internet";
}
}
xmlBeanFactory.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<!-- oracle bean used for a few examples -->
<bean id="oracle" name="wiseworm" class="BookwormOracle"/>
</beans>
If you want i can also post the maven pom.xml, but i think there is no error all packages are loaded and linked.
I am happy for any hint google and other pages cant help me. Here is a other example what i am trying to do : http://www.devdaily.com/blog/post/java/load-spring-application-context-file-java-swing-application
And even this post Java can't find method main did not help me
Do i have to start this application as Java Application or AspectJ/JavaApplication. Is it not possible to start a console application that way from eclipse ? Do i need to publish my files to a server ( "add to server" but this isnt working too)?
Whats confused me most is, that i see the main method :) and it is the same syntax as any hello world application.
Thanks so far...
I used all the java files and XML files and made it run in my system. It's working perfectly after fixing two errors, Next time when you post the question please do post the exception or the error message which you get.
I got two error's when I ran the project
First Error:
which was related to not having "commons-logging" jar file.
I downloaded the jar file and placed it under the build path.
You can find the solution here. You also need to change your pom.xml
Which will be now,
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.test.testapp</groupId>
<artifactId>testapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</project>
Second Error:
The xmlBeanFactory.xml was refering to a different Spring version. I changed to Spring-2.5.jar and updated my build path.
That's it, now the project runs.