LeBron James signed a two-year, $42 million deal with the Cleveland Cavaliers with the second season being a player option.

It took several seasons for James to express it, but the way the collective bargaining agreement puts a cap on his earning potential on the floor bothers him.

"At the end of the day, I don't think my value of what I do on the floor can be compensated anyway because of the CBA if you want this truth. If this was baseball, I'd be up there," said last season.

Last season was the first time James' salary was even in the top-10 in the NBA.

James is hitting the $20 million-plus mark in his 12th NBA season, whereas Kevin Garnett hit $20 million by his seventh season in a deal that was agreed upon two CBAs ago. Shaquille O'Neal earned $20 million in salary in nine straight seasons, while Kobe Bryant's two remaining seasons on his current deal will be his seventh and eighth making more than $20 million.

When James met with agent Rich Paul and his lead attorney Mark Termini before free agency began, they discussed the maximum salary issue. The plan was to demand both a max contract and to sign short-term deals for the foreseeable future.

If James had re-signed with the Miami Heat or chosen the Los Angeles Lakers, he also would have taken a one-year deal with the player option, sources said.

James is protected from missing out on being able to cash in if and when the salary cap increases, plus it opens up the possibility of him cashing in if the maximum salary is abolished or vastly raied in 2017 under a new CBA. James envisions getting a balloon payment toward the end of his career similar to what Michael Jordan made in the final two seasons of his contract with the Chicago Bulls.

It also gives James leverage to keep his team under pressure to continue spending on talent around him.

James has long believed in the phrase "no new friends" when it comes to those in his inner circle and now it is also "no long-term contracts."