Ответы пользователя по тегу Java
  • Что не так с моим pom.xml для сборки десктопного приложения в exe?

    timych
    @timych
    Слушайте может я и не прав, но этот плагин вроде для ЗАПУСКА приложения, а не для создания .exe файлов.
    Вам скорее всего нужен javafx-maven-plugin.
    Вот статейка по настройке старой версии - devcolibri.com/3264
    Вот моя конфигурация для создания приложения под виндовс и jar для мультиплатформы (требуется Java 8):
    <build>
    		<plugins>
    			<plugin>
    				<groupId>com.zenjava</groupId>
    				<artifactId>javafx-maven-plugin</artifactId>
    				<version>8.1.2</version>
    				<executions>
    					<execution>
    						<goals>
    							<goal>jar</goal>
    							<goal>native</goal>
    						</goals>
    					</execution>
    				</executions>
    				<configuration>
    					<mainClass>org.tn.gallery.control.Application</mainClass>
    					<nativeOutputDir>${app.path}/win</nativeOutputDir>
    					<jfxAppOutputDir>${app.path}/jfx</jfxAppOutputDir>
    					<verbose>true</verbose>
    					<appName>jGallery</appName>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>

    Также для того чтобы плагин смог создать нативное приложение с .exe файлом вам необходимо поставить эту штуку на машину: www.jrsoftware.org/isdl.php
    Ответ написан
    Комментировать
  • Можно ли использовать Gson как синглтон?

    timych
    @timych
    Я его всегда как статический член класса использую. Проблем не замечал.
    Ответ написан
    Комментировать
  • На чём писать программу для работы с таблицами Excel?

    timych
    @timych
    Задание странное. Но иногда действительно нужно обрабатывать такие документы не в редакторах.
    Вот набор библиотек , который вам нужен если будете реализовывать на Java
    mvnrepository.com/artifact/org.apache.poi
    https://poi.apache.org/spreadsheet/examples.html
    Ответ написан
    Комментировать
  • Как сериализовать и десериализовать интерфейсы?

    timych
    @timych
    Если переменные представляют наследников одного общего типа(интерфейса), то вслучае с json вам необходимо аннотировать его аннотацией @JsonSubTypes, в которой нужно перечислить всех наследников. Когда получите десереализованный обьект, просто через instanceof проверяете принадлежность к необходимому типу (классу) и кастите обьект до этого класса. Вот простой пример (лень самому писать :)): https://nickebbitt.wordpress.com/2014/01/31/handli...

    PS: В примере есть ошибка - абстрактный класс Animal должен имплементировать Serializable
    Ответ написан
  • Как правильно составить структуру таблиц(MySQL) и классов(Java)?

    timych
    @timych
    Если я правильно понял, то есть один товар, у которого три разных стоимости? Так?
    Почему нельзя тогда положить все в одну таблицу вида :
    NAME | PRICE_1 | PRICE_2 | PRICE_3

    Сформулируйте - в чем вобще состоит задача.
    Ответ написан
    3 комментария
  • С чего начать изучение Java?

    Комментировать
  • Как узнать индексы повторяющихся элементов в массиве?

    timych
    @timych
    Код писать не буду(немного напрягитесь сам), но вот вам порядок действий: Циклом перебирайте массив начиная с нулевого элемента до последнего. Каждый раз доставайте значение из массива по текущему индексу цикла. Проверяйте это значение - а не является ли оно пятеркой?. Если да то положите текущий индекс куда-нибудь. (Для начала можно просто в консоль выводить).
    В общем как вам написали выше - напишите хоть какой-то код, а мы поправим :)
    Ответ написан
    Комментировать
  • Как сделать правильно POST запрос java?

    timych
    @timych
    Вы не очень понимаете что у вас происходит в коде. Пара комментариев в коде:
    @POST
        @Path("/add")
        @Produces(MediaType.APPLICATION_JSON)
        public String saveNewPerson(JSONObject person) throws JSONException {
    	
    	//вызов этого метода никак  не влияет на код, так как  toString() возвращает строку, но вы ее никак не используете
            person.toString();
    		// тут как раз и происходит toString(); 
             System.out.println(person + " output in service.java");
    		 //почему в savePerson() вы кладете NULL?
            if (!personDao.savePerson(null)) {
                return "Person create success   id=";
     
            } else {
                return "error, check information for new person";
            }
        }
    	
    	******************************************
    			// Тут нужно класть Entity класс ,а не JSONObject.
                session.saveOrUpdate(person);


    Вы передаете в метод null и естественно у вас ошибка. Но даже если бы вы передавали свой JSONObject, то ничего не произойдет, потому как сохранять необходимо персистентный обьект, представляющий таблицу в базе данных. Так называемый entity.
    Вот как примерно он мог бы у вас выглядеть:
    @Entity
    @Table(name =  "person")
    public class Person implements Serializable{
    
        private static final long serialVersionUID = 1L;
    
    	@Id
    	@Column(name = "id", nullable = false)
    	private int id;
    	
    	@Column(name = "full_name")
    	private String fullName;
    	
    	@Column(name = "age")
    	private int age;
    	
    	@Column(name = "city")
    	private String city;
    	
    	@Column(name = "gender")
    	@Enumerated(EnumType.STRING)
    	private Gender gender;
    	
    	
    	public Person(){
    	}
    	
    	// геттеры и сеттеры обязательно
    }


    В общем почитайте матчасть немного.
    Ответ написан
    Комментировать
  • IText и Штрих-коды, как их разместить вдоль строки?

    timych
    @timych
    Располагайте их абсолютно на странице через цикл. В цикле накапливайте последние координаты картинки (Вы ведь как Image вставляете?). Дошли до края страницы - перемещайте новый ряд ниже.
    Вот туториал как позиционировать картинку.
    tutorials.jenkov.com/java-itext/image.html
    Ответ написан
    Комментировать
  • Как исправить ситуацию, когда GlassFish не обрабатывает JSF-страницы?

    timych
    @timych
    Я давно ковырялся с .jsf, но насколько помню если не сконфигурить маппинг к Faces Servlet в web.xml, то по дефолту для того чтобы faces заработал нужно в пути к jsp/xtml файлу вставлять "faces". Например localhost:8080/faces/mypage.jsp
    В противном случае faces не отрабатывает, хотя доступ с к файлу будет.
    Попробуйте.
    А еще лучше скиньте web.xml
    Ответ написан
    Комментировать
  • Как реализовать таймер, работающий на массиве дат?

    timych
    @timych
    Вот наваял (надеюсь что правильно понял задачу):
    package application;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    import java.util.Timer;
    import java.util.TimerTask;
    
    /**
     * @author Timur Nikiforov
     */
    public class Clazz {
    
    	private Timer dateTimer;
    
    	private Timer remainderTimer;
    
    	private Date nextDate;
    
    	private boolean remainderTimerStarted;
    	
    	private static final long REMINDER_UPDATE_INTERVAL = 1000; 
    
    	private static final String[] DATES = { "12.04.2015 19:56", "12.04.2015 19:57", "12.04.2015 19:58" };
    
    	private int currentIndex;
    
    	public Clazz() {
    		dateTimer = new Timer();
    	}
    
    	public static void main(String[] args) {
    		Clazz instance = new Clazz();
    		instance.run();
    	}
    
    	private void run() {
    		nextDate = parseDate(DATES[currentIndex]);
    		schedule();
    	}
    
    	public void schedule() {
    		runSecondsCounter();
    		dateTimer.schedule(new TimerTask() {
    
    			@Override
    			public void run() {
    
    				System.out.println("Current date is:" + new Date());
    				currentIndex++;
    				if (currentIndex < DATES.length) {
    					nextDate = parseDate(DATES[currentIndex]);
    					System.out.println("Next date is:" + nextDate);
    					schedule();
    				} else {
    					remainderTimer.cancel();
    				}
    			}
    		}, nextDate);
    
    	}
    
    	private Date parseDate(String nextDate) {
    		Date date = null;
    		DateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm",
    				Locale.ENGLISH);
    		try {
    			date = format.parse(nextDate);
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		return date;
    	}
    
    	private void runSecondsCounter() {
    		if (remainderTimerStarted) {
    			remainderTimer.cancel();
    		}
    
    		remainderTimer = new Timer();
    		remainderTimer.scheduleAtFixedRate(new TimerTask() {
    
    			@Override
    			public void run() {
    				remainderTimerStarted = true;
    				long remains = nextDate.getTime() - new Date().getTime();
    				System.out.println("Remains: " + (remains / 1000) + " seconds");
    			}
    		}, REMINDER_UPDATE_INTERVAL, REMINDER_UPDATE_INTERVAL);
    	}
    }


    Разберетесь без комментов?
    Ответ написан
    1 комментарий
  • Как подключить локальный репозиторий maven?

    timych
    @timych
    Хм cама комманда выглядит правильно, по крайней мере у меня на виндовс-машинах все устанавливалось нормально. Проект билдится нормально? (Еклипс может тупить например до тех пор пока не сделаешь maven-> update project)

    PS: Почему вы не хотите положить jar в сам проект? Это гораздо удобней, в том плане что не нужно на каждой машине класть один и тот же jar в локальный репозиторий.

    UPD: В ответ на ваш коммент пишу тут, так как не вставить по человечески xml.

    По поводу добавления библиотеки прямо в проект:
    Делаете в корне проекта папку lib (или как вам угодно можно назвать) и кидаете туда jar. К примеру у меня в папке lib лежит библиотека GWT-jQuery. Тогда в pom.xml это будет выглядеть таким образом:
    <dependency>
        			<artifactId>GWT-jQuery</artifactId>
        <groupId>com.xedge.jquery.ui</groupId>
        			<scope>system</scope>
        <version>1.1</version>
        <systemPath>${basedir}/lib/gwt-jquery1.1.jar</systemPath>
    		</dependency>
    Ответ написан
    2 комментария
  • Пустая страница при обработке ошибок сервера?

    timych
    @timych
    Есть логи сервера? Что показывает консоль в браузере(какой код возвращает реквест на страницу). Какая версия сервлетов используется (2.5 или 3.x)?
    Ответ написан
    Комментировать
  • Пролистование страниц с JTextAre?

    timych
    @timych
    olololosh Не вижу проблемы. Разбиваешь текст на фрагменты нужной длины. Складываешь в массив. По нажатию кнопки "вперед/назад" берешь из массива по текущему индексу нужный кусок текста и подменяешь его текстовом поле. Индекс изменяешь по каждому нажатию (в пределах размера массива конечно же).
    Ответ написан
  • Как в netBeans запускать на выполнение не главные Java классы?

    timych
    @timych
    Для того чтобы запустить класс , он должен содержать в себе метод main(String [] args).
    Не знаю как NetBeans, но в Eclipse - контекстное меню на классе -> Run as Java application.
    Ответ написан
    Комментировать
  • Как вывести названия столбцов из таблицы?

    timych
    @timych
    Можно немного покритиковать?
    Во первых - прикладывайте stack trace (Хотя я уверен что выскочил HibernateException).

    Во вторых читайте Javadoc: Метод createQuery() - Create a new instance of Query for the given HQL query string.
    В вашем рабочем примере вы как раз и используете HQL. А в нерабочем пытаетесь запихнуть SQL специфичный для MySql базы данных.
    Если хотите использовать SQL, то наверное лучше использовать createSQLQuery().

    В третьих , это все равно работать будет -потому что вы пытаетесь засунуть в Entity , который описывает таблицу, заголовки колонок, этой таблицы. Вы сами представляете как это возможно? Непонятно что вы хотите сделать, и для чего это нужно. Вы не знаете названия колонок в таблице? И на кой черт рест-клиенту их получать?

    Но если уж так надо , то вот вроде рабочий пример: https://developer.jboss.org/thread/189593?start=0&...
    Ответ написан
    Комментировать
  • Hibernete: Как создавать Entity для SQL-запросов со смешанными полями?

    timych
    @timych
    А в какой обьект вы собрались записывать результат запроса? Какой-то POJO все равно нужен.

    Вобще обратите свой взор на QueryDsl
    www.querydsl.com
    а конкретно на ConstructorExpression - очень удобная штука(особенно если maven используете)
    www.querydsl.com/static/querydsl/3.2.2/apidocs/com...
    Ответ написан
  • Как организовать хранение изображений в веб-проекте под Tomcat?

    timych
    @timych
    Загружайте в любую директорию на сервере. Просто в каком -нибудь конфиге пропишите корень к файловому хранилищу. Там уже как душа пожелает.
    PS: Вот подобный вопрос - Как лучше всего организовать хранение файлов?
    Ответ написан
  • Jackson сериализация POJO. Как вытащить единственное свойство из инкапсулируемого объекта?

    timych
    @timych
    Я не понял вы хотите вытащить поля класса B не обращаясь к самому классу? А вас не устраивает:
    A a  =  new A();
    B b  =  new B();
    a.setB(b);
    // инициализирум поля и  преобразовываем в  JSON
    ...
    // после парсинга из  JSON
    String bId = a.getB().getId();


    ?

    Или я не допонял вопрос?
    Ответ написан
    1 комментарий
  • Что используют для шаблонов JSP-приложения?

    timych
    @timych
    https://ru.wikipedia.org/wiki/Apache_Struts копайте в сторону Struts

    Либо Spring MVC как вы и сказали
    Примеры обычно бывают в официальных туториалах.

    Голый JSP никому не нужен сейчас (технология довольно старая). Да и сложно на голом JSP написать серьезное приложение.
    Ответ написан
    Комментировать