JavaRush/Java блог/Архив info.javarush/Сборка проекта с помощью Maven
AndreGold
28 уровень

Сборка проекта с помощью Maven

Статья из группы Архив info.javarush
участников
delete
Комментарии (14)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
vps
Уровень 41
26 сентября 2015, 09:14
Если хотите зависимости поместить в сам jar файл, то можно вот такую конфигурацию попробовать:
<?xml version="1.0" encoding="UTF-8"?>
<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>PhoneBook</groupId>
    <artifactId>PhoneBook</artifactId>
    <version>0.1</version>

    <dependencies>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <finalName>${project.build.finalName}</finalName>

                    <appendAssemblyId>false</appendAssemblyId>

                    <archive>
                        <manifest>
                            <mainClass>com.gold.andrex.PhoneBook</mainClass>
                        </manifest>
                    </archive>

                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                   
tempys
Уровень 31
24 сентября 2015, 17:40
забейте на мавен, сча гредл рулит.
AndreGold
Уровень 28
24 сентября 2015, 17:55
я не против, поделитесь туториалом по сборке на градл.
trinit
Уровень 41
24 сентября 2015, 17:10
Вот очень похожий пример на ваш: devcolibri.com/477
Там драйвер подключают с помощью Class.forName(...)
AndreGold
Уровень 28
24 сентября 2015, 17:56
спасибо, кажется я в ClassPath не добавил
trinit
Уровень 41
25 сентября 2015, 08:12
ну что, получилось что-то?
AndreGold
Уровень 28
25 сентября 2015, 20:50
да все получилось, проблема была в том, что я не добавил в CLASSPATH, путь к MySQL connector. Можно было и по другому, просто в lib jre забросить сам jar.
trinit
Уровень 41
25 сентября 2015, 20:57
Насколько я понимаю суть Мавена, то он сам должен при построении проекта добавлять библиотеки к проекту и в CLASSPATH походу тоже. Хотелось бы получить ответ от более знающих.
AndreGold
Уровень 28
25 сентября 2015, 21:00
я первый раз собираю на Maven, нормальных tutorial не нашел. Я сам еще не разобрался полностью. Однако с CLASSPATH советуют на stack overflow.
trinit
Уровень 41
24 сентября 2015, 16:30
Кажется, что не совсем корректно написано подключение к базе. Вот ссылка c примером www.java2s.com/Tutorial/Java/0340__Database/JDBCMysqlConnectionString.htm
Нужно добавить строку с информацией о драйвере, подключить его и добавить имя базы данных в конец вашей переменной «URL».
Возможно придется создать сначала базу данных на локальном сервере (для этого можно использовать Workbench).
AndreGold
Уровень 28
24 сентября 2015, 16:35
вот код моего класса
package com.gold.andrex.DBConnection;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Администратор on 15.09.2015.
 */
public abstract class PhoneDBConnection {

    private static Connection connection;

    public static final String URL = "jdbc:mysql://localhost:3306";
    public static final String URL_SCHEMA = "jdbc:mysql://localhost:3306/db";
    public static final String USERNAME = "root";
    public static final String PASSWORD = "root";

    public static final String CREATE_SCHEMA = "CREATE SCHEMA db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
    public static final String CREATE_TABLE =  "CREATE TABLE db.users (\n" +
            "  firstName VARCHAR(50) NULL COMMENT '',\n" +
            "  lastName VARCHAR(50) NULL COMMENT '',\n" +
            "  age INT(2) NULL COMMENT '',\n" +
            "  email VARCHAR(64) NULL COMMENT '',\n" +
            "  phoneNumber VARCHAR(13) NULL COMMENT '',\n" +
            "  photo LONGBLOB NULL COMMENT '')\n" +
            "  ENGINE = InnoDB\n" +
            "  DEFAULT CHARACTER SET = utf8\n" +
            "  COLLATE = utf8_general_ci;";


    public static final String SELECT_TABLES = "SELECT * FROM information_schema.tables WHERE table_schema = 'db'";
    public static final String SELECT_ALL = "SELECT * FROM users";
    public static final String SELECT_USER = "SELECT * FROM users WHERE firstName = ? AND lastName = ? AND phoneNumber = ?";
    public static final String SELECT_USER_PHONE_NUMBER = "SELECT * FROM users WHERE phoneNumber = ?";
    public static final String SELECT_USER_NAME = "SELECT * FROM users WHERE firstName = ? && lastName = ?";
    public static final String S
enso
Уровень 30
24 сентября 2015, 16:48
Тоже сейчас подобным занимаюсь. Гугли про сборку с зависимостями, там ещё пару строк в pom добавить нужно.
trinit
Уровень 41
24 сентября 2015, 16:51
Но Идея ведь тоже собирает проект с помощью Maven. Судя по ексепшену, то приложение не может найти подходящий драйвер для коннекта к базе. Можно попробовать открыть jar файлик архиватором в папке с либами посмотреть, есть ли там драйвер.