Adempiere e Mac OS X


#1

Aqui vai uma dica:

Para executar o RUN_build no Mac OS X é necessário alterar esse script com a seguinte verificação:

check jdk

if [ ! -f $JAVA_HOME/lib/tools.jar ] ; then
if [ uname != “Darwin” ] ; then
echo “** Need full Java SDK **”
exit
fi
fi


Como instalar no Mac OS X?
#2

Não tem muito a ver com o tópico, mas agora vejo um pequeno problema ao executar o client no OS X… Ontem zerei a instalação e peguei a última versão do AdempiereLBR disponível no SF, coloquei o ExpDat na pasta data e executei o DB_Restore.

Até aí tudo bem, mas o problema é que agora não consigo mais logar! Eu entro com usuário e senha, passo pra tela de escolha de regra e o nisso fica indefinidamente. Se eu cancelo via X vermelho do cliente, ele termina; se eu cancelo via botão padrão do OS X de fechar janela, o menu até aparece, mas nada fica utilizável.

O que eu testei aqui foi trocar o java pra usar a versão 6 em vez da 5, e isso resolveu o problema de logar, porém tem outro problema (nada a ver com o Adempiere), que é de não conseguir escrever nada em campos de texto Swing usando Java 6. Ou seja, com Java 5 eu escrevo mas não logo, com Java 6 eu logo mas não escrevo! Hah, nao tenho mais pra onde correr :S

Antes de zerar minha instalação, o cliente funcionava normal usando Java 5. Aqui o console com o erro:

[code]Java Web Start 1.5.0_13
Using JRE version 1.5.0_13 Java HotSpot™ Client VM
User home directory = /Users/gmichels

c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
0-5: set trace level to

*** 2008-07-29 01:16:54.49 Adempiere Log (CLogConsole) ***
01:16:54.490 Adempiere.startup: Adempiere® Release 3.4.0s_2008-03-26 -Smart Suite ERP,CRM and SCM- © 1999-2007 Adempiere ®; Implementation: ${env.ADEMPIERE_VERSION} 20080729-0035 - ${env.ADEMPIERE_VENDOR}
[INFO] MLog clients using com.mchange.v2.log.FallbackMLog logging.
[INFO] Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
[INFO] Initializing c3p0 pool… com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 2, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> AdempiereDS, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.postgresql.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1bqon2g7vu93oa71yecnrq|145582, idleConnectionTestPeriod -> 1200, initialPoolSize -> 1, jdbcUrl -> jdbc:postgresql://lamp.local:5432/adempiere?encoding=UNICODE, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 900, maxIdleTimeExcessConnections -> 1200, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> SELECT Version FROM AD_System, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
Exception in thread “AWT-EventQueue-0” java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at sun.misc.Service$LazyIterator.next(Service.java:271)
at javax.script.ScriptEngineManager.initEngines(ScriptEngineManager.java:109)
at javax.script.ScriptEngineManager.access$000(ScriptEngineManager.java:37)
at javax.script.ScriptEngineManager$1.run(ScriptEngineManager.java:80)
at java.security.AccessController.doPrivileged(Native Method)
at javax.script.ScriptEngineManager.init(ScriptEngineManager.java:78)
at javax.script.ScriptEngineManager.(ScriptEngineManager.java:51)
at org.compiere.model.MRule.getScriptEngine(MRule.java:221)
at org.compiere.model.ModelValidationEngine.loginComplete(ModelValidationEngine.java:213)
at org.compiere.util.Login.validateLogin(Login.java:683)
at org.compiere.apps.ALogin.defaultsOK(ALogin.java:552)
at org.compiere.apps.ALogin.actionPerformed(ALogin.java:448)
at org.compiere.apps.AppsAction.actionPerformed(AppsAction.java:266)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at java.awt.Component.processMouseEvent(Component.java:5602)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5367)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4068)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
at java.awt.Container.dispatchEventImpl(Container.java:2054)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:180)
at java.awt.Dialog$1.run(Dialog.java:535)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
-----------> DB.isBuildOK: Build Version Error

The program assumes build version ${env.ADEMPIERE_VERSION} 20080729-0035, but database has build version ${env.ADEMPIERE_VERSION} 20080729-0031.
This is likely to cause hard to fix errors.
Please contact administrator.
===========> Env.getContextAsDate: No value for: #Date[/code]

Alguma idéia mirabolante pra ajudar?


#3

Gustavo, realmente tem alguma coisa estranha no Mac OS X, Adempiere, JAVA 5 e JAVA 6.

Aqui tbm tenho problemas, mas como executo dentro do eclipse, ainda consigo contornar… o erro acontece pq na nova versão existe uma validação para não deixar o usuário logar na Org = * e existe alguma coisa com a compilação dos jars que fazem esta verificação.

uma solução é apagar a entrada na tabela ad_rule e entrar usando o JAVA 5 mesmo

DELETE FROM AD_RULE WHERE AD_RULE_ID = 1000000

#4

Olá Mario

Obrigado pela resposta, mas vou fazer a coisa funcionar via eclipse por enquanto também :slight_smile:

edit: pelo eclipse deu o mesmo problema, apaguei a linha no AD_RULE como vc disse e funcionou ok. Enfim, deixemos assim por enqto heh


#5

Gustavo,

Eu acabei reinstalando minha máquina e não instalei mais o Java 6…

Com isso resolvi o problema de comportamentos estranhos no ADempiere

Um abraço,
Eduardo.


#6

Edu,

Aparentemente tá funcionando ok depois de apagar a linha na tabela AD_RULE (e adicionar o pljava na config do postgres, erro besta hah), então vou deixar assim, mesmo pq tenho um aplicativo que uso que precisa de java 6.


#7

de dentro do eclipse para resolver o problema, vc deve colocar como a versão do Java no projeto Adempiere = 1.5 e no adempierelbr = 1.6, dai não tem problemas