Building Mango in Eclipse
-
Maybe a silly question, but can you say how much of this path actually exists:
/home/mario/Programas/apache-tomcat-6.0.20/webapps/mango/WEB-INF/classes/com/serotonin/mango/rt/maint/work/ -
Hi,
maybe is not a silly question hehehehe
only this is real
/home/mario/Programas/apache-tomcat-6.0.20/webapps/
sorry my ignorance...
and thanks for your patienceregards,
Mario -
Incidentally, i strongly recommend changing the password in your tomcat-users file. There is a known crawler that looks for unprotected Tomcat instances and uses the manager to upload and start applications.
-
That comment above was for all forum users, not just Mario.
So, Mario, are you sure the user under which the build is running has permissions to write to the "webapps" directory?
-
Hi mlohbihler,
i change the permission and works now i have the folder
/home/mario/Programas/apache-tomcat-6.0.20/webapps/mango
and the build is ok
Buildfile: /home/mario/workspace7/SuperMango/build.xml
compile:
static:
build:
copy:
[copy] Copying 2797 files to /home/mario/Programas/apache-tomcat-6.0.20/webapps/mango
deploy:
BUILD SUCCESSFUL
Total time: 26 seconds:)
now i will try access http://localhost:8080/mango
right?sorry my ignorance...
and thanks for your patienceregards,
Mario -
Sure, give it a try.
-
Hi,
i try access http://localhost:8080/mango/(http://localhost:8080/mango/login.htm) and i have a error report
com.serotonin.web.dwr.LocalizableMessageConverter.convertOutbound(LocalizableMessageConverter.java:25)
and like in topic
http://mango.serotoninsoftware.com/forum/posts/list/345.pagethe problem is my browser the firefox,when i desativated a plugin... ...works!!!
thank you very much...
hartelijk danksorry my ignorance...
and thanks for your patiencebest regards,
Mario -
You're using 1.8.1? That problem should have been fixed.
Give this jar file a try, but keep the old one just in case it all goes horribly wrong.
Attachment: download link
-
Hi all,
I'm having a problem running/compiling mango using eclipse, and was wondering if someone here might know what I did wrong...
I've followed all the steps described by Andras to build the project in Eclipse, including "add external jar" to add the following jars from ${tomcat.home}/lib
servlet-api
jsp-apiWhen I try to build, I get several compile errors starting with
[javac] C:\Dev\testing\workspace\Mango\src\com\serotonin\mango\vo\User.java:26: package javax.servlet.http does not exist [javac] import javax.servlet.http.HttpSessionBindingEvent;
Finally, I copied the files
servlet-api.jar and
jsp-api.jarinto ...war\WEB-INF\lib.
Then the build process successfully compiles and copies files to Tomcat's webapps folder. In fact, it does this even if I remove the "external jars" servlet-api and jsp-api from classpath (using eclipse)!
However, when I try to run the application, it returns a HTTP Status 500 page with a null pointer exception in javax.servlet.http.HttpServlet.service
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:536)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)I suspect this is related to the servlet-api jar.
Anyone have any suggestions...?
Jay
-
I'm having the same problem...
I'll work on it more tonight or tomorrow and see what happens... -
hello team!
I´m trying to build mango source 1.12.4 and I got the next error:
> [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\DataSourceVO.java:434: error: name has private access in DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.head.name", from.name, name); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\DataSourceVO.java:435: error: xid has private access in DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "common.xid", from.xid, xid); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\DataSourceVO.java:436: error: enabled has private access in DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "common.enabled", from.enabled, enabled); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:164: error: rbePeriodType has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPeriodChangeMessage(list, "dsEdit.dnp3.rbePeriod", from.rbePeriodType, [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:165: error: rbePollPeriods has private access in Dnp3DataSourceVO [javac] from.rbePollPeriods, rbePeriodType, rbePollPeriods); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:166: error: synchPeriods has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.dnp3.synchPeriod", from.synchPeriods, synchPeriods); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:167: error: staticPollPeriods has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.dnp3.staticPeriod", from.staticPollPeriods, [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:169: error: sourceAddress has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.dnp3.sourceAddress", from.sourceAddress, [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:171: error: slaveAddress has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.dnp3.slaveAddress", from.slaveAddress, slaveAddress); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:172: error: retries has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.dnp3.retries", from.retries, retries); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\br\org\scadabr\vo\dataSource\dnp3\Dnp3DataSourceVO.java:173: error: retries has private access in Dnp3DataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.modbus.retries", from.retries, retries); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:207: error: updatePeriodType has private access in ModbusDataSourceVO [javac] AuditEventType.maybeAddPeriodChangeMessage(list, "dsEdit.updatePeriod", from.updatePeriodType, [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:208: error: updatePeriods has private access in ModbusDataSourceVO [javac] from.updatePeriods, updatePeriodType, updatePeriods); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:209: error: quantize has private access in ModbusDataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.quantize", from.quantize, quantize); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:210: error: timeout has private access in ModbusDataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.modbus.timeout", from.timeout, timeout); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:211: error: retries has private access in ModbusDataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.modbus.retries", from.retries, retries); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:212: error: contiguousBatches has private access in ModbusDataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.modbus.contiguousBatches", from.contiguousBatches, [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:215: error: createSlaveMonitorPoints has private access in ModbusDataSourceVO [javac] from.createSlaveMonitorPoints, createSlaveMonitorPoints); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:216: error: maxReadBitCount has private access in ModbusDataSourceVO [javac] AuditEventType.maybeAddPropertyChangeMessage(list, "dsEdit.modbus.maxReadBitCount", from.maxReadBitCount, [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:219: error: maxReadRegisterCount has private access in ModbusDataSourceVO [javac] from.maxReadRegisterCount, maxReadRegisterCount); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\vo\dataSource\modbus\ModbusDataSourceVO.java:221: error: maxWriteRegisterCount has private access in ModbusDataSourceVO [javac] from.maxWriteRegisterCount, maxWriteRegisterCount); [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:35: error: DummyServletContext is not abstract and does not override abstract method getJspConfigDescriptor() in ServletContext [javac] public class DummyServletContext implements ServletContext { [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:54: error: getAttributeNames() in DummyServletContext cannot implement getAttributeNames() in ServletContext [javac] public Enumeration<?> getAttributeNames() { [javac] ^ [javac] return type Enumeration<?> is not compatible with Enumeration<String> [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:77: error: getInitParameterNames() in DummyServletContext cannot implement getInitParameterNames() in ServletContext [javac] public Enumeration<?> getInitParameterNames() { [javac] ^ [javac] return type Enumeration<?> is not compatible with Enumeration<String> [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:155: error: getServletNames() in DummyServletContext cannot implement getServletNames() in ServletContext [javac] public Enumeration<?> getServletNames() { [javac] ^ [javac] return type Enumeration<?> is not compatible with Enumeration<String> [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:161: error: getServlets() in DummyServletContext cannot implement getServlets() in ServletContext [javac] public Enumeration<?> getServlets() { [javac] ^ [javac] return type Enumeration<?> is not compatible with Enumeration<Servlet> [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:131: error: getResourcePaths(String) in DummyServletContext cannot implement getResourcePaths(String) in ServletContext [javac] public Set<?> getResourcePaths(String arg0) { [javac] ^ [javac] return type Set<?> is not compatible with Set<String> [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:53: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:76: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:130: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:154: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\Users\Lordportux\workspace\myMangoBranch\src\com\serotonin\mango\util\test\DummyServletContext.java:160: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] 32 errors
what's the problem? :(
-
In addition, i suggest modifying the code in your tomcat-users computer file. There is a known crawler that looks for credit card Tomcat circumstances and uses the administrator to publish and start programs.
-
Hi,
am trying to run th build.xml file but i found some Error :shock: :for example : /*** Compiling 616 source files to C:\workspace-pfe\mango\build\WEB-INF\classes
[javac] C:\workspace-pfe\mango\src\com\serotonin\mango\vo\User.java:26: error: package javax.servlet.http does not exist
[javac] import javax.servlet.http.HttpSessionBindingEvent; ***/help please :cry:
REM: i download the code source from http://sourceforge.net/projects/scadabr/files/Software/mango-src/mango-source-1.12.3.zip/download (VERSION 1.12.3)
-
Hi,
I had similar problem with javax.servlet.http.... I resolved it with adding all libraries in the project. Right click on the project/Build Path/Configure Build Path/Choose Java Build Path on the left and add all .jar files from war/WEB-INF/lib.
That should be ok.I have another problem:
My build is successful, but I can't see it in my browser. I copy files from webapps/test to webapps/ROOT, but http://localhost:8080/ returnes error. Please, help!Thank you very much!
Dusan
-
Can you provide some more details on the nature of the error? Is there anything in the Tomcat log?
-
Hi,
thank you for answering!
http://localhost:8080/test returnes this:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:An error occurred at line: 22 in the generated java file
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactoryStacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.Apache Tomcat/6.0.35
http://localhost:8080/mango works (folder mango contains extracted mango-1.13.0.zip downloaded from Mango Website).
.................................................................................................................................
I built it as Andreas did (on the first page). That is:-get Eclipse IDE for Java EE Developers
-get Mango source code, unpack it
-add empty subdirectories lib, src_gen and src_test to Mango source
-add RXTXcomm.jar in lib directory
-in file build.properties, edit tomcat.home to point at the tomcat location on your system.
C:/Program Files/Apache Software Foundation/Tomcat 6.0
-get axis-ant.jar and put it into the WEB-INF/lib directory
-In Eclipse choose import->general and browse to the mango source
-I used "add jar" to add these jars in war/WEB-INF/lib :modbus4J
seroUtils
common-httputils
quartz
bacnet4J
commons-codec
joda-timeservlet-api
jsp-api-I added the rest of .jar files
-right-click build.xml in the project explorer and choose run as->2(3).ant-build...
choose the createconfigfiles target
-right-click build.xml again and again choose run as->2(3).ant-build...
choose the default deployThe newly built Mango is now copied to the tomcat webapps/test directory
..............................................................................................................................I don't think it is connected to the problem, but I see WARNING signs on several packages in src folder (in Eclipse).
Also, I see "C:\Documents and Settings\Administrator\Desktop\mango-source-1.12.4\build.xml:82: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds" in console, after building it.Thank you very much!
Dusan
-
There's not really an error message there beyond, "there was an error", so it's hard to say. I'd suggest looking for differences between the "test" deployment and the "mango" deployment.
-
OK, I'll try to figure it out.
Thank you very much!
Dusan
-
Hi again,
I'm analysing Mango source code. I don't know how JSP pages are connected.
For example: the first page is login.jsp (in WEB-INF/jsp/). When user clicks on Log in button,
what is the next jsp page that will be shown to him?Where can I define navigation rules?
In JSF there is a file faces-config.xml where navigation rules are defined (start JSP page, servlet which checks username and password, and the next JSP page).
I imported Mango source code in Eclipse as General/Existing Project into Workspace.
P.S. I opened new topic about it, Programming in Mango.
Thank you very much!
Dusan
-
@craig said:
I do the following:
- make sure you have eclipse release which includes the web tools project.
- unpack mango source in a directory called "myMangoBranch" inside the eclipse workspace directory
- Do File->New->Other, choose "Dynamic Web project" from under "Web"
- Make Project name "myMangoBranch" (must match existing directory name)
- I don't have to change any other options on the new dynamic web project dialog, target runtime is apache tomcat 6.0 (you may have to add a target runtime), so I hit next.
- Source folders on the build path i leave as "src" and default output folder I leave as build/classes, so i hit next
- Content Directory I change from "WebContent" to war. Hit finish!
In accordance with the above steps.I build the project,but I meet fatal error:
Exception sending context initialized event to listener instance of class com.serotonin.mango.MangoContextListener
java.util.MissingResourceException: Can't find bundle for base name env, locale zh_CN
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at com.serotonin.util.PropertiesUtils.<init>(PropertiesUtils.java:30)
at com.serotonin.util.PropertiesUtils.<init>(PropertiesUtils.java:24)
at com.serotonin.mango.Common.getEnvironmentProfile(Common.java:300)
at com.serotonin.mango.db.DatabaseAccess.createDatabaseAccess(DatabaseAccess.java:72)
at com.serotonin.mango.MangoContextListener.databaseInitialize(MangoContextListener.java:253)
at com.serotonin.mango.MangoContextListener.contextInitialized(MangoContextListener.java:94)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2012-11-26 10:07:22 org.apache.catalina.core.StandardContext startI need help.Could someone helps me.Thank you!!