Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отказывается работать Velocity, встаёт на init() 
V
    Опции темы
kaa
Дата 15.12.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Есть код(пример с нашего сайта):

Код

import org.apache.velocity.app.*;
import org.apache.velocity.*;
import java.io.*;
import java.util.*;

public class VeloTest {
    
   public static void DoVelo(String file) throws Exception
    {
        Velocity.init();
        VelocityContext vc = new VelocityContext();
        Template t = Velocity.getTemplate(file);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        t.merge(vc, bw);
        bw.flush();
        bw.close();       
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)throws Exception
    {
        // TODO code application logic here
        DoVelo("test.vm");
    }



Velocity-1.5.jar подключаю как библиотеку.

При попытке стартовать вот что выдаёт:


Код

init:
deps-jar:
compile:
run:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/ExtendedProperties
        at org.apache.velocity.runtime.RuntimeInstance.<init>(RuntimeInstance.java:164)
        at org.apache.velocity.runtime.RuntimeSingleton.<clinit>(RuntimeSingleton.java:91)
        at org.apache.velocity.app.Velocity.init(Velocity.java:83)
        at VeloTest.DoVelo(VeloTest.java:10)
        at VeloTest.main(VeloTest.java:26)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)



Среда разработки NetBeans 5.5
Среда исполнения JavaSE 6.0

Вот собственно... Кто-нить знает почиму такое может быть?

PM MAIL   Вверх
Kangaroo
Дата 16.12.2007, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



kaa, нужен commons-collections.jar, его Велосити использует.


--------------------
Lost....
PM MAIL MSN   Вверх
kaa
Дата 16.12.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Kangaroo, 
А где его взять?

А подключать так же - как библиотеку?
PM MAIL   Вверх
Kangaroo
Дата 16.12.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Цитата(kaa @  16.12.2007,  12:44 Найти цитируемый пост)
А где его взять?

Ну хотя бы в гугле набрать - commons collections download


Цитата(kaa @  16.12.2007,  12:44 Найти цитируемый пост)
А подключать так же - как библиотеку? 

Да. Это обычная библиотека, которую внутри себя использует Velocity.


--------------------
Lost....
PM MAIL MSN   Вверх
kaa
Дата 16.12.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Kangaroo, 
Понял, спасибо smile
PM MAIL   Вверх
ivg
Дата 16.12.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


Профиль
Группа: Участник
Сообщений: 686
Регистрация: 8.2.2006
Где: Екатеринбург

Репутация: 32
Всего: 81



kaa, у velocity есть ещё файлик velocity-dep-1.5.jar Так вот в этом файле включены все зависимости (dependencies), в том числе и все commons, которые необходимы для работы. То есть, если у вас в проекте нет кода, который использует Apache commons, можно просто этот jar использовать.
PM MAIL   Вверх
kaa
Дата 18.12.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



ivg, 
Спасибо! Учту! 
PM MAIL   Вверх
kaa
Дата 19.12.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Скачал commons-collections-3.2.jar, подключил, пытаюсь прописать 

Код

import org.apache.commons.collections;


А мне говарят что такого пакета не найдено :(

Почиму он невидит библиотеку?
PM MAIL   Вверх
Kangaroo
Дата 20.12.2007, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



kaa, 
должен видеть smile вроде правильный пакет.
а какая ИДЕ?

а Велосити хоть заработал?


--------------------
Lost....
PM MAIL MSN   Вверх
kaa
Дата 20.12.2007, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Так, с божьей помощью подключил правильно - в jar-файл собирается, но при запуске в режиме отладки выдаёт следующее

Код

init:
deps-jar:
compile:
20.12.2007 21:48:05 org.apache.velocity.runtime.log.JdkLogChute log
INFO: FileResourceLoader : adding path '.'
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
        at org.apache.velocity.runtime.resource.ResourceManagerImpl.initialize(ResourceManagerImpl.java:165)
        at org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:594)
        at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:241)
        at org.apache.velocity.runtime.RuntimeSingleton.init(RuntimeSingleton.java:113)
        at org.apache.velocity.app.Velocity.init(Velocity.java:83)
        at VeloTest.DoVelo(VeloTest.java:11)
        at VeloTest.main(VeloTest.java:27)
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]
Java Result: 1
debug:
BUILD SUCCESSFUL (total time: 1 second)




Код

Код

import org.apache.velocity.app.*;
import org.apache.velocity.*;
import org.apache.commons.collections.*;
import java.io.*;
import java.util.*;

public class VeloTest {
    
   public static void DoVelo(String file) throws Exception
    {
        Velocity.init();
        VelocityContext vc = new VelocityContext();
        Template t = Velocity.getTemplate(file);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        t.merge(vc, bw);
        bw.flush();
        System.out.println("ok");
        bw.close();       
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)throws Exception
    {
        // TODO code application logic here
        DoVelo("test.vm");
    }
    
}


Как я понимаю, ему что-то ненравится в инициализации, только вот что - никак понять немогу.
PM MAIL   Вверх
Kangaroo
Дата 21.12.2007, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



kaa, 
нужен еще commons-lang-2.2.jar smile 

Ты лучше сразу почитай в документации все dependencies.


--------------------
Lost....
PM MAIL MSN   Вверх
kaa
Дата 21.12.2007, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Kangaroo, 
Гм... Да, что-то сразу недодумал про такое...
Стаарею smile
PM MAIL   Вверх
Zerstroer
Дата 4.10.2010, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Здравствуйте! 
Прошу помочь. Аналогичная ситуация.
Использую: IDE NetBeans 6.9.1, jdk 1.6, ОС Linux Debian 5.0.4
Предварительно проверил работоспособность Velocity

подключил 
Velocity 1.6.4 & Velocity 1.6.4-dep

Код

package velocheck;

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;

/**
 *
 * @author evgen
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws Exception {
        // TODO code application logic here
      try {
        Velocity.init("/home/evgen/NetBeansProjects/deos_i/src/java/velocity.properties");
        }
          catch( Exception e )
        {
            System.out.println(e);
        }

        VelocityContext vc = new VelocityContext();
        vc.put("fio", "Вася Тапкин");
        Template t = null;
        try {
            t = Velocity.getTemplate("login.html", "utf-8");
        } catch (ResourceNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ParseErrorException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        t.merge(vc, bw);

        bw.flush();

        bw.close();
    }
}



В консоль обработанный шаблон выкинул корректно.

После чего стал проверять функционал в проекте сервлета (Использую Apache Tomcat 6.0.26)

Код

package FirstP;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.app.Velocity;
import org.apache.commons.collections.*;
import org.apache.commons.lang.*;
import org.apache.velocity.servlet.*;
import org.apache.velocity.io.*;
import org.apache.velocity.runtime.*;

public class First extends HttpServlet {
   
     private void draw(HttpServletResponse response/*, ArrayList<String> content*/)
    throws ServletException, IOException
    {
     //    Velocity.init();

        Velocity.init("/home/evgen/NetBeansProjects/TmplVelo/src/java/FirstP/props.properties");

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
       out.println("<html>");
        out.println("<head>");
        out.println("<title></title>");
        out.println("</head>");
        out.println("<body>");
        out.println("Проверка!");
        out.println("</body>");
        out.println("</html>");
    }


    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, Exception {
       draw(response);
    } 

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (Exception ex) {
            Logger.getLogger(First.class.getName()).log(Level.SEVERE, null, ex);
        }
    } 

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (Exception ex) {
            Logger.getLogger(First.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}


Ругается на init() опять же!
В консоль отладки кидает следующее:

Код

Using CATALINA_BASE:   /home/evgen/.netbeans/6.9/apache-tomcat-6.0.26_base
Using CATALINA_HOME:   /home/evgen/apache-tomcat-6.0.26
Using CATALINA_TMPDIR: /home/evgen/.netbeans/6.9/apache-tomcat-6.0.26_base/temp
Using JRE_HOME:        /home/evgen/JVM/jdk1.6.0_21
Using CLASSPATH:       /home/evgen/apache-tomcat-6.0.26/bin/bootstrap.jar
04.10.2010 16:18:55 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/evgen/JVM/jdk1.6.0_21/jre/lib/i386/server:/home/evgen/JVM/jdk1.6.0_21/jre/lib/i386:/home/evgen/JVM/jdk1.6.0_21/jre/../lib/i386:/home/evgen/JVM/jdk1.6.0_21/jre/lib/i386/client:/home/evgen/JVM/jdk1.6.0_21/jre/lib/i386:/home/evgen/JVM/jdk1.6.0_21/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
04.10.2010 16:18:55 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
04.10.2010 16:18:55 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1445 ms
04.10.2010 16:18:55 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
04.10.2010 16:18:55 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.26
04.10.2010 16:18:55 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor FirstProbe.xml
04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor ROOT.xml
04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor TmplVelo.xml
04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor deos_i.xml
04.10.2010 16:18:56 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
04.10.2010 16:18:56 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
04.10.2010 16:18:57 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=1/139  config=null
04.10.2010 16:18:57 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1527 ms
04.10.2010 16:18:57 FirstP.First doGet
SEVERE: null
java.lang.RuntimeException: Uncompilable source code - unreported exception java.lang.Exception; must be caught or declared to be thrown
        at FirstP.First.draw(First.java:42)
        at FirstP.First.processRequest(First.java:62)
        at FirstP.First.doGet(First.java:77)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)


Прошу помочь, ткнуть носом если, что недоглядел. 
С технологией сервлетов и шаблонизатором сталкиваюсь впервые.







--------------------
In silico
PM MAIL ICQ   Вверх
Zerstroer
Дата 5.10.2010, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.8.2007
Где: Алма-Ата

Репутация: нет
Всего: 3



Нарвался на мануал, добавил в файл .properties строчку:

runtime.log.logsystem.class = org.apache.velocity.runtime.log.NullLogSyste

и все заработало!
Спасибо!



--------------------
In silico
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.