maven, jenkins, nexus, git related

change mac os x jenkins default port:

sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 8880

check if it changed:

defaults read /Library/Preferences/org.jenkins-ci

stop jenkins on mac os x:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

or if the previous doesn’t work,

ps -ef | grep jenkins and then kill -9

start jenkins on mac os x:

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

Externalising SCM credentials with Maven:

https://stackoverflow.com/a/4791460

nexus default username/password:

admin/admin123

Nexus Repository Manager OSS 3.x change port

open /path/to/nexus/nexus-3.x/etc/nexus-default.properties

 

SonarQube Severity of rule [repository=squid, key=S00105] is not correct: MÝNOR/M?NOR error in Windows

Setup JAVA_TOOL_OPTIONS as a system variable with the following content:

JAVA_TOOL_OPTIONS=-Duser.language=en

You can add it through the Environment Properties menu which can be found at (Windows) :

  1. From the Desktop, right-click My Computer and click Properties.
  2. Click Advanced System Settings link in the left column.
  3. In the System Properties window click the Environment Variables button.
  4. Click New to add a new variable name and value.
  5. For variable name enter JAVA_TOOL_OPTIONS for variable value enter -Duser.language=en
  6. Click OK and close the System Properties Tab.
  7. Restart SonarQube.

WildFly cli

Start/stop:

Start the server in domain mode:

$ ./domain.sh

Start the server in standalone mode:

$ ./standalone.sh

To stop the server, press Ctrl + C, or use the admin console:

$ ./jboss-cli.sh --connect command=:shutdown

(Resource)

Deploy/undeploy:

Interactive console:

jboss-cli.sh -c
[standalone@localhost:9990 /] deploy target/javaee7-1.0-SNAPSHOT.war
[standalone@localhost:9990 /] deployment-info
[standalone@localhost:9990 /] undeploy javaee7-1.0-SNAPSHOT.war

non-interactive:

jboss-cli.sh --connect --command="deploy target/javaee7-1.0-SNAPSHOT.war --force"
jboss-cli.sh --connect --command=deployment-info
jboss-cli.sh --connect --command="undeploy javaee7-1.0-SNAPSHOT.war"

(Resource)

Script to install JBoss Wildfly 10.0.0.Final as service in Linux

First install oracle java 8: (Source)

wildfly-install.sh (Source)

#!/bin/bash
#title           :wildfly-install.sh
#description     :The script to install Wildfly 10.0.0.Final
#more            :http://sukharevd.net/wildfly-8-installation.html
#usage           :/bin/bash wildfly-install.sh
#tested-version  :10.0.0.Final 

WILDFLY_VERSION=10.0.0.Final
WILDFLY_FILENAME=wildfly-$WILDFLY_VERSION
WILDFLY_ARCHIVE_NAME=$WILDFLY_FILENAME.tar.gz
WILDFLY_DOWNLOAD_ADDRESS=http://download.jboss.org/wildfly/$WILDFLY_VERSION/$WILDFLY_ARCHIVE_NAME

INSTALL_DIR=/opt
WILDFLY_FULL_DIR=$INSTALL_DIR/$WILDFLY_FILENAME
WILDFLY_DIR=$INSTALL_DIR/wildfly

WILDFLY_USER="wildfly"
WILDFLY_SERVICE="wildfly"
WILDFLY_MODE="standalone"

WILDFLY_STARTUP_TIMEOUT=240
WILDFLY_SHUTDOWN_TIMEOUT=30

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root."
   exit 1
fi

echo "Downloading: $WILDFLY_DOWNLOAD_ADDRESS..."
[ -e "$WILDFLY_ARCHIVE_NAME" ] && echo 'Wildfly archive already exists.'
if [ ! -e "$WILDFLY_ARCHIVE_NAME" ]; then
  wget -q $WILDFLY_DOWNLOAD_ADDRESS
  if [ $? -ne 0 ]; then
    echo "Not possible to download Wildfly."
    exit 1
  fi
fi

echo "Cleaning up..."
rm -f "$WILDFLY_DIR"
rm -rf "$WILDFLY_FULL_DIR"
rm -rf "/var/run/$WILDFLY_SERVICE/"
rm -f "/etc/init.d/$WILDFLY_SERVICE"

echo "Installation..."
mkdir $WILDFLY_FULL_DIR
tar -xzf $WILDFLY_ARCHIVE_NAME -C $INSTALL_DIR
ln -s $WILDFLY_FULL_DIR/ $WILDFLY_DIR
useradd -s /sbin/nologin $WILDFLY_USER
chown -R $WILDFLY_USER:$WILDFLY_USER $WILDFLY_DIR
chown -R $WILDFLY_USER:$WILDFLY_USER $WILDFLY_DIR/

#mkdir -p /var/log/$WILDFLY_SERVICE

echo "Registrating Wildfly as service..."
# if should use systemd
if [ -x /bin/systemctl ]; then
    # Script from $WILDFLY_DIR/docs/contrib/scripts/systemd/launch.sh didn't work for me
    cat > $WILDFLY_DIR/bin/launch.sh << "EOF"
#!/bin/sh

if [ "x$WILDFLY_HOME" = "x" ]; then
    WILDFLY_HOME="/opt/wildfly"
fi

if [ "x$1" = "xdomain" ]; then
    echo 'Starting Wildfly in domain mode.'
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3
    #>> /var/log/$WILDFLY_SERVICE/server-`date +%Y-%m-%d`.log
else
    echo 'Starting Wildfly in standalone mode.'
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3
    #>> /var/log/$WILDFLY_SERVICE/server-`date +%Y-%m-%d`.log
fi
EOF
    # $WILDFLY_HOME is not visible here
    sed -i -e 's,WILDFLY_HOME=.*,WILDFLY_HOME='$WILDFLY_DIR',g' $WILDFLY_DIR/bin/launch.sh
    #sed -i -e 's,$WILDFLY_SERVICE,'$WILDFLY_SERVICE',g' $WILDFLY_DIR/bin/launch.sh
    chmod +x $WILDFLY_DIR/bin/launch.sh
    
    cp $WILDFLY_DIR/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/$WILDFLY_SERVICE.service
    WILDFLY_SERVICE_CONF=/etc/default/$WILDFLY_SERVICE
    # To install multiple instances of Wildfly replace all hardcoding in systemd file
    sed -i -e 's,EnvironmentFile=.*,EnvironmentFile='$WILDFLY_SERVICE_CONF',g' /etc/systemd/system/$WILDFLY_SERVICE.service
    sed -i -e 's,User=.*,User='$WILDFLY_USER',g' /etc/systemd/system/$WILDFLY_SERVICE.service
    sed -i -e 's,PIDFile=.*,PIDFile=/var/run/wildfly/'$WILDFLY_SERVICE'.pid,g' /etc/systemd/system/$WILDFLY_SERVICE.service
    sed -i -e 's,ExecStart=.*,ExecStart='$WILDFLY_DIR'/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND,g' /etc/systemd/system/$WILDFLY_SERVICE.service
    systemctl daemon-reload
    #systemctl enable $WILDFLY_SERVICE.service
fi

# if non-systemd Debian-like distribution
if [ ! -x /bin/systemctl -a -r /lib/lsb/init-functions ]; then
    cp $WILDFLY_DIR/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/$WILDFLY_SERVICE
    sed -i -e 's,NAME=wildfly,NAME='$WILDFLY_SERVICE',g' /etc/init.d/$WILDFLY_SERVICE
    WILDFLY_SERVICE_CONF=/etc/default/$WILDFLY_SERVICE
fi

# if non-systemd RHEL-like distribution
if [ ! -x /bin/systemctl -a -r /etc/init.d/functions ]; then
    cp $WILDFLY_DIR/docs/contrib/scripts/init.d/wildfly-init-redhat.sh /etc/init.d/$WILDFLY_SERVICE
    WILDFLY_SERVICE_CONF=/etc/default/wildfly.conf
    chmod 755 /etc/init.d/$WILDFLY_SERVICE
fi

# if neither Debian nor RHEL like distribution
if [ ! -x /bin/systemctl -a ! -r /lib/lsb/init-functions -a ! -r /etc/init.d/functions ]; then
cat > /etc/init.d/$WILDFLY_SERVICE << "EOF"
#!/bin/sh
### BEGIN INIT INFO
# Provides:          ${WILDFLY_SERVICE}
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/Stop ${WILDFLY_FILENAME}
### END INIT INFO

WILDFLY_USER=${WILDFLY_USER}
WILDFLY_DIR=${WILDFLY_DIR}

case "$1" in
start)
echo "Starting ${WILDFLY_FILENAME}..."
start-stop-daemon --start --background --chuid $WILDFLY_USER --exec $WILDFLY_DIR/bin/standalone.sh
exit $?
;;
stop)
echo "Stopping ${WILDFLY_FILENAME}..."

start-stop-daemon --start --quiet --background --chuid $WILDFLY_USER --exec $WILDFLY_DIR/bin/jboss-cli.sh -- --connect command=:shutdown
exit $?
;;
log)
echo "Showing server.log..."
tail -500f $WILDFLY_DIR/standalone/log/server.log
;;
*)
echo "Usage: /etc/init.d/wildfly {start|stop}"
exit 1
;;
esac
exit 0
EOF
sed -i -e 's,${WILDFLY_USER},'$WILDFLY_USER',g; s,${WILDFLY_FILENAME},'$WILDFLY_FILENAME',g; s,${WILDFLY_SERVICE},'$WILDFLY_SERVICE',g; s,${WILDFLY_DIR},'$WILDFLY_DIR',g' /etc/init.d/$WILDFLY_SERVICE
chmod 755 /etc/init.d/$WILDFLY_SERVICE
fi

if [ ! -z "$WILDFLY_SERVICE_CONF" ]; then
    echo "Configuring service..."
    echo JBOSS_HOME=\"$WILDFLY_DIR\" > $WILDFLY_SERVICE_CONF
    echo JBOSS_USER=$WILDFLY_USER >> $WILDFLY_SERVICE_CONF
    echo WILDFLY_HOME=\"$WILDFLY_DIR\" > $WILDFLY_SERVICE_CONF
    echo WILDFLY_USER=\"$WILDFLY_USER\" > $WILDFLY_SERVICE_CONF
    echo STARTUP_WAIT=$WILDFLY_STARTUP_TIMEOUT >> $WILDFLY_SERVICE_CONF
    echo SHUTDOWN_WAIT=$WILDFLY_SHUTDOWN_TIMEOUT >> $WILDFLY_SERVICE_CONF   
    echo WILDFLY_CONFIG=$WILDFLY_MODE.xml >> $WILDFLY_SERVICE_CONF
    echo WILDFLY_MODE=$WILDFLY_MODE >> $WILDFLY_SERVICE_CONF
    echo WILDFLY_BIND=0.0.0.0 >> $WILDFLY_SERVICE_CONF
fi

echo "Configuring application server..."
sed -i -e 's,<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000",<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" deployment-timeout="'$WILDFLY_STARTUP_TIMEOUT'",g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<inet-address value="${jboss.bind.address:127.0.0.1}"/>,<any-address/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>,<socket-binding name="ajp" port="${jboss.ajp.port:28009}"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="http" port="${jboss.http.port:8080}"/>,<socket-binding name="http" port="${jboss.http.port:28080}"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="https" port="${jboss.https.port:8443}"/>,<socket-binding name="https" port="${jboss.https.port:28443}"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="osgi-http" interface="management" port="8090"/>,<socket-binding name="osgi-http" interface="management" port="28090"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml

[ -x /bin/systemctl ] && systemctl start $WILDFLY_SERVICE || service $WILDFLY_SERVICE start

echo "Done."

deploy & undeploy:

$WILDFLY_HOME/bin/jboss-cli.sh --connect --command="deploy --force [PATH_TO_WAR]"
$WILDFLY_HOME/bin/jboss-cli.sh --connect --command="undeploy x-ray.war"

Netbeans üzerinden Tomcat çalıştırırken alınan “127.0.0.1 iç yada dış komut çalıştırılabilir program yada toplu iş dosyası olarak tanınmıyor” hatası

Tomcat 8.0.30’da bin\catalina.bat dosyasında 195 ile 201. satırlar arasındaki aşağıdaki bloğu

:noJuliConfig
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"

...

:noJuliManager
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%"

bununla değiştirin

:noJuliConfig
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%

...

:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%

Kaynak: http://stackoverflow.com/a/26487192/1046569

jboss mysql datasource configuration

  1. Download the latest JDBC driver for MySQL from http://dev.mysql.com/downloads/connector/j/
  2. Create folders "mysql/main" in "<JBoss-AS-7-Home>/modules/com"
  3. Copy the above downloaded JAR file(mysql-connector-java-x.x.x-bin.jar) in "<JBoss-AS-7-Home>/modules/com/mysql/main"
  4. Create "module.xml" in "<JBoss-AS-7-Home>/modules/com/mysql/main" and paste the following code into it
    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="com.mysql">
        <resources>
            <resource-root path="mysql-connector-java-x.x.x-bin.jar"/> <!-- change the jar here -->
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
            <module name="javax.servlet.api" optional="true"/>
        </dependencies>
    </module>
    
  5. Goto: /standalone/configuration/standalone.xml
    • add mysql datasource in the node:
      <datasource jta="true" jndi-name="java:/JSFDemoJNDI" pool-name="my_pool" enabled="true" use-java-context="true" use-ccm="true">
          <connection-url>jdbc:mysql://localhost:3306/jsfdemodb</connection-url>
          <connection-property name="zeroDateTimeBehavior">
              convertToNull
          </connection-property>
          <driver>mysql</driver>
          <security>
              <user-name>username</user-name> <!-- change username here -->
              <password>passowrd</password> <!-- change password here -->
          </security>
      </datasource>
      
    • add mysql driver in the node in node:
      <driver name="mysql" module="com.mysql"/>

some Eclipse shortcuts for Sublime Text 2

Open "Preferences -> Key Bindings - User" and add these lines:

[
	{ "keys": ["ctrl+space"], "command": "auto_complete" },
	{ "keys": ["ctrl+shift+f"], "command": "reindent", "args": {"single_line": false}},
	{ "keys": ["alt+up"], "command": "swap_line_up" },
 	{ "keys": ["alt+down"], "command": "swap_line_down" },
 	{ "keys": ["ctrl+alt+down"], "command": "duplicate_line" },
 	{ "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
 	{ "keys": ["alt+shift+r"], "command": "find_all_under" },
 	{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
 	{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }
]

jboss 7.1 change password

if you want to change jboss 7.1 admin console password, first remove the user and add it again.

  1. open “jboss-as-x.x.x.Final\standalone\configuration\mgmt-users.properties” and delete the user (i.e delete the line such as “admin=2c7123264278731425d1f53aeb55da1e”)
  2. open “jboss-as-x.x.x.Final\domain\configuration\mgmt-users.properties” and delete the user (i.e delete the line such as “admin=2c7123264278731425d1f53aeb55da1e”)
  3. run “jboss-as-x.x.x.Final\bin\add-user.bat” and add user

if you get “JBAS015243: The user ‘admin’ already exists in at least one properties file.” error, it means there is a user with the same username and you didnt do first two steps :)

useful mysql queries snippets

– remove duplicate records:
CREATE TEMPORARY TABLE temp_table (column1 VARCHAR(256),column2 VARCHAR(256));
INSERT INTO temp_table (`column1`,`column2`) SELECT DISTINCT `column1`,`column2` FROM table1;
DELETE from table1;
INSERT INTO table1 (`column1`,`column2`) SELECT * FROM temp_table;

– show duplicate records:
SELECT column1, count(*) FROM table1 GROUP BY id HAVING count(*) > 1;
or
select * from table1 i where i.id in
(SELECT id FROM table1 GROUP BY id HAVING count(*) > 1);

– set foreign key:
update table1 a, table2 b set a.fID=b.id where y.column1=i.column1;

– remove column:
alter table table1 drop column1;

– compare two columns to find unmatched records:
select column2 from table1
where column2 not in (select column1 from table1);