Не могу заставить Project Lombok работать на Eclipse

Я считаю, что вы должны модульно кодировать ваш код для лучшего обслуживания:

Во-первых, не проверяйте ваш запрос в контроллере. Создайте запрос формы:

php artisan make:request StoreProduct

Создайте логику проверки в файле, расположенном в app / Http / Requests / StoreProduct

class StoreProduct extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */

     public function authorize()
     {
        return true;
     }

    /**
    * Get the validation rules that apply to the request.
    *
    * @return array
    */

    public function rules()
    {
        return [
            'product_name' => 'required|string|max:191',
            'quantity' => 'required|integer',
            'product_id' => 'required',
            'category' => 'string|max:191',
            'brand' => 'string|max:191',
            'provider_id' => 'required'
        ];
}

в файле вашего контроллера.

//include the request file
use App\Http\Requests\StoreProject;

// (...) the rest of your code

// The validation is called before the controller method
public function store(StoreProduct $request)
{
    $validated = $request->validated();

    $this->storeProduct($request); 

    $this->storeProductDetails($request);

    // Return a redirect response and not a $product
    // Is a good practice to redirect to your products list
    // for example: redirect('/productsList');
    // Here, I'm redirecting to your root page;
    return redirect('/');

}

public function storeProduct(StoreProduct $request){
    Product::create([
        'product_name' => $request['product_name'],
        'quantity' => $request['quantity']
    ]); 
}

public function storeProductDetails(StoreProduct $request){
    ProductDetails::create([
        'product_id' => $request['product_id'],
        'category' => $request['category'],
        'brand' => $request['brand'],
        'provider_id' => $request['provider_id']
    ]);
}

Ссылка: Проверка запроса формы Laravel

66
задан Kukeltje 1 November 2019 в 16:45
поделиться

3 ответа

Вы добавили

-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar

в свой eclipse.ini ?

Потому что, если у вас есть (и если вы добавили lombok.jar в библиотеки, используемые вашим проектом), он просто работает отлично с Eclipse Helios:

alt text


Ян Тегебо упоминает в комментариях , что:

простого «перезапуска» было недостаточно, чтобы подобрать измененные vmargs:
Мне нужно было явно выйти, а затем начать снова .


chrisjleu упоминает в комментариях :

Если вы используете настроенный дистрибутив Eclipse Helios (3.6+), вам, возможно, придется использовать полный путь к lombok .jar в обоих аргументах vm .
См. commit b47e87f для получения дополнительной информации.

boolean fullPathRequired = IdeFinder.getOS() == EclipseFinder.OS.UNIX || System.getProperty("lombok.installer.fullpath") != null;
66
ответ дан 24 November 2019 в 14:45
поделиться

Это для установки Ломбока на Комплекте инструментов Spring. Вот то, что я сделал на пружинном комплекте инструментов (sts-4.4.0. ВЫПУСК) и Ломбок-1.18.10.jar (текущая последняя версия, доступная в mavenrepository).

  1. При наличии проекта знатока, гарантируйте зависимость Ломбока, добавленную к нему. Еще Вы должны вручную добавить банку к своему пути к классу проекта.

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <scope>provided</scope> </dependency>

  2. Чистый создают приложение знатока. Это загрузит банку Ломбока в Вашем .m2 местоположении по умолчанию из репозитория знатока. Путь был бы org\projectlombok\lombok\1.18.10\

  3. Теперь открытая командная строка и перешел бы на Ломбок, соединяют каналом и выполняются, команда java -jar lombok-1.18.10.jar

    C:\xxx\xxx\org\projectlombok\lombok\1.18.10>java -jar lombok-1.18.10.jar

  4. Открывает диалоговое окно Ломбока. Если видят, что сообщение Can't find IDE Нажимает Specify location... Provide путь к Вашему корневому местоположению STS

    Мой случай, это C:\apps\sts-4.4.0.RELEASE\SpringToolSuite.exe

    Install/Update

  5. , успешная Установка Нажимает Quit Installer

  6. Now в проводнике, перешли к Вашему корневому пути STS. C:\apps\sts-4.4.0.RELEASE\ Мы видим lombok.jar помещенный в корневой путь sts, Теперь редактируют в файле блокнота SpringToolSuite4.ini, Мы видим, что следующие, добавленные в конце

    -javaagent:C:\apps\sts-4.4.0.RELEASE\lombok.jar

  7. , Запускают STS использование SpringToolSuite4.exe Чистый, восстанавливают Ваш проект.

0
ответ дан 24 November 2019 в 14:45
поделиться

Вам нужно не только добавить lombok.jar в библиотеки, но и установить его, либо дважды щелкнув jar-файл lombok, либо из командной строки запустите java -jar lombok. банка . Это покажет вам хороший экран установщика. Выберите установку Eclipse и установите ее.

После этого вы можете проверить, правильно ли установщик изменил ваш eclipse.ini:

-vmargs
...
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar

Если ваш Eclipse уже был запущен, вы должны выйти из Eclipse и запустить его снова. (Файла / перезагрузки недостаточно)

Если вы запускаете Eclipse с помощью ярлыка, убедитесь, что либо нет аргументов командной строки, либо добавьте вручную -javaagent: lombok.jar -Xbootclasspath / a: lombok.jar где-то после -vmargs .

В последних выпусках Lombok также добавлена ​​строка на экран «О Eclipse». Если Lombok активен, вы можете найти строку типа «Lombok v0.11.6« Dashing Kakapo »установлен. http://projectlombok.org/ 'чуть выше линии кнопок.

Если по какой-то причине, обычно связанной с настраиваемыми сборками eclipse, вам нужно использовать полный путь, вы можете указать установщику в командной строке:

java -Dlombok.installer.fullpath -jar lombok. банка

117
ответ дан 24 November 2019 в 14:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: